HIBERNATE一对多级联删除问题
想在删除一个USER记录的时候删除对应的2个ORDER里的数据,可是现在只能删除USER里的数据,通过级联关系的2个ORDER里的数据不能删除.这个是一方USER表的配置...
想在删除一个USER记录的时候删除对应的2个ORDER里的数据,可是现在只能删除USER里的数据,通过级联关系的2个ORDER里的数据不能删除.
这个是一方USER表的配置
<set name="travelOrder" inverse="true" table="travelorder" cascade="delete" lazy="false">
<key column="id"></key>
<one-to-many class="com.ecit.po.Travelorder"></one-to-many>
</set>
<set name="airlineorder" inverse="true" table="PLANETICKETORDER" cascade="delete" lazy="false">
<key column="id"></key>
<one-to-many class="com.ecit.po.Planeticketorder"></one-to-many>
</set>
2个多方的配置(其中的USERS)
Travelorder:
<many-to-one name="travelline" class="com.ecit.po.Travelline" cascade="none" lazy="false">
<column name="TRAVELLINE_ID"></column>
</many-to-one>
<many-to-one name="users" class="com.ecit.po.Users" cascade="none" lazy="false">
<column name="user_id"></column>
</many-to-one>
Planeticketorder(其中的USER的配置):
<many-to-one name="airline" class="com.ecit.po.Airline" cascade="none" lazy="false">
<column name="AIRLINE_ID"></column>
</many-to-one>
<many-to-one name="user" class="com.ecit.po.Users" cascade="none" lazy="false">
<column name="user_id"></column>
</many-to-one>
按一楼说的改为ALL还是不行,但是其他2个表比如旅游路线表中删除一条记录会把旅游定单中此路线的所有信息都删除,是同样的写法,只不过里面没有USERS这样有2个SET属性;确实奇怪..头疼 展开
这个是一方USER表的配置
<set name="travelOrder" inverse="true" table="travelorder" cascade="delete" lazy="false">
<key column="id"></key>
<one-to-many class="com.ecit.po.Travelorder"></one-to-many>
</set>
<set name="airlineorder" inverse="true" table="PLANETICKETORDER" cascade="delete" lazy="false">
<key column="id"></key>
<one-to-many class="com.ecit.po.Planeticketorder"></one-to-many>
</set>
2个多方的配置(其中的USERS)
Travelorder:
<many-to-one name="travelline" class="com.ecit.po.Travelline" cascade="none" lazy="false">
<column name="TRAVELLINE_ID"></column>
</many-to-one>
<many-to-one name="users" class="com.ecit.po.Users" cascade="none" lazy="false">
<column name="user_id"></column>
</many-to-one>
Planeticketorder(其中的USER的配置):
<many-to-one name="airline" class="com.ecit.po.Airline" cascade="none" lazy="false">
<column name="AIRLINE_ID"></column>
</many-to-one>
<many-to-one name="user" class="com.ecit.po.Users" cascade="none" lazy="false">
<column name="user_id"></column>
</many-to-one>
按一楼说的改为ALL还是不行,但是其他2个表比如旅游路线表中删除一条记录会把旅游定单中此路线的所有信息都删除,是同样的写法,只不过里面没有USERS这样有2个SET属性;确实奇怪..头疼 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询