
Hibernate不能级联删除问题,高分求救!SOS
我的问题是这样的:我有两个表,一个是工资项Item,一个是工资单Record;中间表示item_record我定义的是他们是多对多的关系;就是一张工资单包括很多个工资项,...
我的问题是这样的:
我有两个表,一个是工资项Item,一个是工资单Record;中间表示item_record
我定义的是他们是多对多的关系;就是一张工资单包括很多个工资项,一个工资项也可以出现在不同的工资单上;
我现在要删除某一个工资项,按理说应该也要删除item_record中的某些记录,但是我这里就删除不掉了,如果删除的工资项没有和任何record关联,就可以删除,关联了就不能删除。请知道的网友们帮帮我!
-------------------------这是Item.hbm.xml---------------------------------
<class name="Item" table="item">
<id name="id" column="i_id" type="integer">
<generator class="native"/>
</id>
<property name="name" column="i_name" generated="never" lazy="false" type="string"/>
<property name="formula" column="i_formula" generated="never" lazy="false" type="string"/>
<property name="level" column="i_level" generated="never" lazy="false" type="string"/>
<property name="category" column="i_category" generated="never" lazy="false" type="string"/>
</class>
-------------------------这是Record.hbm.xml---------------------------------
<class name="Record" table="record">
<id name="id" column="r_id" type="integer">
<generator class="native"/>
</id>
<property name="shall" column="r_shall" generated="never" lazy="false"/>
<property name="actual" column="r_actual" generated="never" lazy="false"/>
<property name="category" column="r_category" generated="never" lazy="false"/>
<many-to-one name="staff" class="Staff" column="s_id" cascade="save-update" lazy="false"></many-to-one>
<set name="items" cascade="all" table="item_record" lazy="false" inverse="false">
<key column="r_id"></key>
<many-to-many class="Item" column="i_id" lazy="false"></many-to-many>
</set>
</class> 展开
我有两个表,一个是工资项Item,一个是工资单Record;中间表示item_record
我定义的是他们是多对多的关系;就是一张工资单包括很多个工资项,一个工资项也可以出现在不同的工资单上;
我现在要删除某一个工资项,按理说应该也要删除item_record中的某些记录,但是我这里就删除不掉了,如果删除的工资项没有和任何record关联,就可以删除,关联了就不能删除。请知道的网友们帮帮我!
-------------------------这是Item.hbm.xml---------------------------------
<class name="Item" table="item">
<id name="id" column="i_id" type="integer">
<generator class="native"/>
</id>
<property name="name" column="i_name" generated="never" lazy="false" type="string"/>
<property name="formula" column="i_formula" generated="never" lazy="false" type="string"/>
<property name="level" column="i_level" generated="never" lazy="false" type="string"/>
<property name="category" column="i_category" generated="never" lazy="false" type="string"/>
</class>
-------------------------这是Record.hbm.xml---------------------------------
<class name="Record" table="record">
<id name="id" column="r_id" type="integer">
<generator class="native"/>
</id>
<property name="shall" column="r_shall" generated="never" lazy="false"/>
<property name="actual" column="r_actual" generated="never" lazy="false"/>
<property name="category" column="r_category" generated="never" lazy="false"/>
<many-to-one name="staff" class="Staff" column="s_id" cascade="save-update" lazy="false"></many-to-one>
<set name="items" cascade="all" table="item_record" lazy="false" inverse="false">
<key column="r_id"></key>
<many-to-many class="Item" column="i_id" lazy="false"></many-to-many>
</set>
</class> 展开
2个回答
展开全部
用cascade=“all”,然后item.hbm.xml里面也要加many-to-many的说明、、
追问
但是item里面添加了many-to-many的话,那我不是要在Item实体里面添加Set吗?但是我并不会用到这个集合啊,很感谢你回答!
追答
那你就在数据库里面设置啊 。。我用的MYSQL的图形化工具可以直接设置级联关系的 。。

2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经...
点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询