我在产品和产品之间有一个亲子(一对多)关系。包。一个产品可以有多个包。在我的“编辑产品”jsp页面中,我允许用户编辑产品&删除/添加/编辑任何包。现在,在提交更改时,我在我的控制器方法中执行saveOrUpdate(product)。我观察到的是,新的软件包将被添加到数据库中,但是用户删除的软件包因此不会从软件包集中删除。我的hiberate配置代码段如下。我在这里错过了什么吗?
<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);
答案 0 :(得分:0)
你应该添加&#34; cascade delete orphan&#34;你的xml配置,首先,为什么不尝试一个简单的情况。