我得到一個奇怪的異常而持續的訂單對象 有多對一的關係與deliveryMode。休眠TransientPropertyValueException同時堅持多到一的關係已經ENTITYID爲0
以下是在訂單對象中定義的映射。
@ManyToOne
@JoinColumn(name = "DELIVERY_MODE_ID")
private DeliveryMode deliveryMode;
的遞送模式已經存在於數據庫, 因此沒有必要指定級聯的。
以下是在DeliveryMode類的雙向映射:
@OneToMany(mappedBy = "deliveryMode")
private List<Order> orders;
我設置的訂單對象的DeliveryMode和保存訂單使用JPA實體管理器爲:
Order order = new Order();
DeliveryMode deliveryMode = new DeliveryMode();
deliveryMode.setDeliveryModeId(0);
order.setDeliveryMode(deliveryMode);
entityManager.persist(order);
上面的代碼給出以下例外:
org.hibernate.TransientPropertyValueException:
object references an unsaved transient instance for given deliveryMode.
del數據庫中已存在iveryModeId = 0。 當我試圖保存除0之外的deliveryModeId的條目上面的代碼片段可以正常工作。
謝謝:)
可能主鍵爲0可能會導致休眠。 – Zeus 2014-09-26 12:54:52
你可以顯示交付模式的Java類嗎? – Chaitanya 2014-09-26 12:59:10
我已更新傳遞模式映射。 – Rishi 2014-09-26 13:21:02