级联删除:在one端控制,不能设置inverse='true',这样的话one端就不起作用。主意:many端不能设置cascade属性,要不然就会子机构控制父机构
.正确实例:
public class Org {
private Integer id;
private String name;
private Org parentOrg;
private Set<Org> childrenOrgs = new HashSet<Org>();
private Set<News> news = new HashSet<News>();
该处省略get、set方法
public class News {
private Integer id;
private String name;
private NewsType newsType;
private Org org;
该处省略get、set方法
组织机构:
<class table="a_org" name="wang.model.Org">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one column="parentid" name="parentOrg" class="wang.model.Org" />
<set name="childrenOrgs" inverse="false" cascade="delete">
<key column="parentid" />
<one-to-many class="wang.model.Org"/>
</set>
<!-- -->
<set name="news" cascade="delete">
<key column="orgid" />
<one-to-many class="wang.model.News"/>
</set>
</class>
新闻:
<class table="a_news" name="wang.model.News">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one column="typeid" name="newsType" class="wang.model.NewsType" />
<many-to-one name="org" column="orgid" class="wang.model.Org" />
</class>