簡體   English   中英

Hibernate oneToMany - object 引用未保存的瞬態實例

[英]Hibernate oneToMany - object references an unsaved transient instance

我有一張具有 oneToMany 關系的表:

<hibernate-mapping>
    <class name="com.al6.jtob.data.Lsell" table="LSELL" >
    ...
       <many-to-one name="stock" class="com.al6.jtob.data.Stock" insert="false" update="false">
          <column name="IDITEM" />
          <column name="IDWAREHOUSE" />
       </many-to-one>
    ...
    </class>
</hibernate-mapping>

StockID 由 (IDITEM, IDWAREHOUSE) 組成。

當我加載現有的 LSELL 對象時,它運行良好。 但是當我創建一個新的 LSELL object 時,我有這個錯誤:

Caused by: javax.ejb.EJBException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.al6.jtob.data.Stock

我不想更新或將任何新的“庫存”保存到數據庫中,它只是一個只讀數據。 所有的庫存數據都是完整和充足的。 目標只是在我顯示“Lsell”時獲得“Lsell”的“庫存”。

您忘記在關系映射中聲明CascadeType 您必須將cascade=all放在映射標記中,因為CascadeType將實體轉換從父級傳播到子級。 例如,如果您持久化父實體,則引用的實體也會在刷新之前持久化。

<one-to-many name="lsell" class="com.al6.jtob.data.Lsell" cascade="all">
   ...
</one-to-many>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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