簡體   English   中英

使用Hibernate刪除一對多關系中的子對象/記錄

[英]Delete child objects/records in one-to-many relationship using Hibernate

我在產品和包裝之間存在親子關系(一對多)。 一個產品可以有多個包裝。 在我的“編輯產品” jsp頁面中,我允許用戶編輯產品並刪除/添加/編輯任何軟件包。 現在,在提交更改時,我正在控制器方法中執行saveOrUpdate(product)。 我正在觀察的是,新軟件包已添加到數據庫中,但用戶刪除的那些軟件包因此不在產品集軟件包中,而沒有從數據庫中刪除。 我的休眠配置代碼段如下。 我在這里想念什么嗎?

<hibernate-mapping>
    <class name="author.vo.ProductVO" table="Product">
    <id name="ProductID" type="long">
            <column name="Product_ID" />
            <generator class="increment" />
     </id>
    <set name="packages" inverse="true" cascade="all" lazy="false">
    <key column="Product_ID" not-null="true" on-delete="cascade"/>
    <one-to-many class="author.vo.PackageVO" />
     </set>

添加產品的代碼

@Autowired
private HibernateTemplate hibernateTemplate;

this.hibernateTemplate.saveOrUpdate(prod);

您還應該在XML配置中添加“層疊刪除孤立”,為什么不首先嘗試簡單的情況。

  1. 是與父母(子女)一起工作的儲蓄。
  2. 是與父子一起工作的刪除。

暫無
暫無

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

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