簡體   English   中英

Toplink嘗試保留空對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM