У меня есть 3 класса, которые разделяют отношения один ко многим - многие к одному с таблицей соединений.Вот сопоставления,
HardwarePackage.java
@OneToMany(fetch = FetchType.LAZY)
@JoinTable(name = "HDWR_PKG_DVC_XREF", joinColumns = { @JoinColumn(name = "HDWR_PKG_ID") }, inverseJoinColumns = { @JoinColumn(name = "DVC_ID") })
private Set<Device> devices;
Device.java
@OneToOne(fetch = FetchType.LAZY)
@JoinTable(name = "HDWR_PKG_DVC_XREF", joinColumns = { @JoinColumn(name = "DVC_ID") }, inverseJoinColumns = { @JoinColumn(name = "HDWR_PKG_ID") })
private HardwarePackage hardwarePackage;
HardwarePackageDeviceXREF.java
@Id
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "DVC_ID")
private Device device;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "HDWR_PKG_ID")
private HardwarePackage hardwarePackage;
Когда я пытаюсьчтобы сохранить объект Device.java без создания объекта HardwarePackage.java, я получаю ошибку,
javax.persistence.PersistenceException: org.hibernate.PropertyValueException: свойство not-null ссылается на нулевое или временное значение: com.deere.isg.dm.domain.commserv.Device.hardwarePackage
Раньше это прекрасно работало с версией Hibernate 5.0.3. Окончательная версия. Кажется, они изменили что-то в 5.0.5. Наконец, но не уверен, что и почему.