[英]Toplink trying to persist null object
我有一個“實例”對象,里面還有另一個“課程”對象。 嘗試保留新的Instance對象時,如果Course為null,則會出現以下錯誤:
java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST: null
這是我的課程注釋:
@OneToOne(cascade = CascadeType.REFRESH,optional=true)
public Course getCourse() {
return course;
}
我不明白為什么它試圖持久化某些空值。 如果為空,則應該在數據庫中將該字段保留為空,對嗎?
我不明白為什么它試圖持久化某些空值。 如果為空,則應該在數據庫中將該字段保留為空,對嗎?
默認情況下,JPA持續性提供程序假設實體的所有字段都是持久性的。 如果要指定非持久性實體的字段或屬性,則需要用@Transient
標記它(但這不是您想要的)。
因此,對我來說,此錯誤是由於沒有為Instance
實體中的關系的OneToOne
端指定正確的級聯類型而導致的。 我不能說為什么不使用ALL
但是至少需要添加PERSIST
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.