Поскольку ваше одно устройство может иметь много датчиков, и один датчик может быть частью майских устройств, вам необходимо создать связь ManyToMany между датчиками и устройствами. Вы можете сослаться на следующее отображение
@Entity
@Table(name = "Device")
public class Device {
// ...
@ManyToMany(cascade = { CascadeType.ALL })
@JoinTable(
name = "Device_Sensor",
joinColumns = { @JoinColumn(name = "Device_id") },
inverseJoinColumns = { @JoinColumn(name = "Sensor_id") }
)
Set<Sensor> Sensors = new HashSet<>();
// standard constructor/getters/setters
}
@Entity
@Table(name = "Sensor")
public class Sensor {
// ...
@ManyToMany(mappedBy = "Sensors")
private Set<Device> Devices = new HashSet<>();
// standard constructors/getters/setters
}
Device_Sensor будет действовать как связь между двумя другими таблицами.