與JPA工作/休眠在OSIV Web環境是推動我瘋了。)合併/重新安裝在JPA /休眠而不更新DB
以下情形:我有一個通過JPA加載一個實體A和有一個B實體的集合。那些B實體有一個必填字段。
當用戶通過按web應用程序中的鏈接向A添加新的B時,該必填字段未設置(因爲沒有合理的默認值)。
在下一個http請求時,OSIV過濾器嘗試合併A實體,但是由於Hibernate抱怨新B沒有設置必填字段,因此失敗。
javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value
閱讀JPA規範,我看不出有任何跡象表明這些檢查在合併階段要求(我沒有交易活動)
我不能讓B的A和唯一的外集合當用戶按下「保存」(aka entitymanager.persist())作爲保存按鈕所不知道的地方時,將它們添加到A僅僅是關於A.
另外A和B只是示例,我有類似的東西在各地..
任何想法?其他JPA實現在這裏的行爲是否相同?
在此先感謝。