SpelEvaluationException: EL1008E: in Thymeleaf app

I have a basic SpringBoot app. using Spring Initializer, embedded Tomcat, Thymeleaf template engine, and package as an executable JAR file.

I have this class

@Entity
@Table(name="t_tdk_device")
@DiscriminatorValue("tdk")
public class TdkDevice extends Device {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;


    public TdkDevice() {
        super();
    }

    public TdkDevice(String deviceKey, String devicePAC) {
        super(deviceKey, devicePAC);
    }

    @OneToMany(mappedBy = "device", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    private Set<DeviceDriver> driverDevices = new HashSet<>();

    public Set<DeviceDriver> getDriverDevices() {
        return driverDevices;
    }

    public void setDriverDevices(Set<DeviceDriver> driverDevices) {
        this.driverDevices = driverDevices;
    }

}

This other class

@Entity
@Table(name = "t_device_driver")
public class DeviceDriver implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public DeviceDriver() {

    }

    public DeviceDriver (Device device, Driver driver) {
        this.device = device;
        this.driver = driver;
    }


    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "device_id")
    private Device device;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "driver_id")
    private Driver driver;

    public Device getDevice() {
        return device;
    }

    public void setDevice(Device device) {
        this.device = device;
    }

    public Driver getDriver() {
        return driver;
    }

    public void setDriver(Driver driver) {
        this.driver = driver;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((device == null) ? 0 : device.hashCode());
        result = prime * result + ((driver == null) ? 0 : driver.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        DeviceDriver other = (DeviceDriver) obj;
        if (device == null) {
            if (other.device != null)
                return false;
        } else if (!device.equals(other.device))
            return false;
        if (driver == null) {
            if (other.driver != null)
                return false;
        } else if (!driver.equals(other.driver))
            return false;
        return true;
    }

    @Override
    public String toString() {
        return "DeviceDriver [device=" + device + ", driver=" + driver + "]";
    }
}

and this other one

@Entity
@Table(name="t_driver")
@DiscriminatorValue("Driver")
public class Driver extends Guardian implements Serializable  {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public Driver() {
        super();
    }

    public Driver (User user) {
        super(user);
    }

    public Driver (User user, String trailerCode) {
        super(user);
        this.trailerCode=trailerCode;
    }

    @Column(name = "trailer_code")
    private String trailerCode;

    @OneToMany(mappedBy = "driver", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private Set<DeviceDriver> driverDevices = new HashSet<>();


    public Set<DeviceDriver> getDriverDevices() {
        return driverDevices;
    }

    public void setDriverDevices(Set<DeviceDriver> driverDevices) {
        this.driverDevices = driverDevices;
    }

    public String getTrailerCode() {
        return trailerCode;
    }

    public void setTrailerCode(String trailerCode) {
        this.trailerCode = trailerCode;
    }

}

Then I want to extract all the drivers from the driverDevices
But when I do this from the thymeleaf template:

<select id="selectCompanyElementId"  >
                                            <option value="0">select</option>
                                            <option th:each="driver : ${device.driverDevices.driver}" 
                                                    th:value="${driver.id}" 
                                                    th:text="${driver.firstName}">
                                             </option>
                                    </select>

I got this error:

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'driver' cannot be found on object of type 'org.hibernate.collection.internal.PersistentSet' - maybe not public?