[英]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配置中添加“層疊刪除孤立”,為什么不首先嘗試簡單的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.