hibernate 一对多主键策略

我的user表与address表是一对多的关系,我删除user表中一条记录后
使用jdbc中的delete from address where userid=XXX;
在hibernate中怎么实现?
先user.getAddress()再用循环session.delete()?不应该这么繁吧?
还是在表中做好关联后删除user表的相应记录会自动删除address表的关联数据?

  
你是想删除adress表呢,还是删除user表呢。。

如果是删除user表的时候同时删除adress表,那么你在user表的hbm.xml文件里面配置的时候把cascade设置成all就可以了。。
例如:
<set name="adress" inverse="true" lazy="false" cascade="all">
<key>
<column name="userid" length="32" />
</key>
<one-to-many not-found="exception" class="com.Adress" />
</set>
就可以了,,如果你是删除adress表的一条记录,你要用hibernate写法去删除的话,那么你需要写一个DAO的del方法。先写个方法把要删除的记录对象查询出来,然后..就这个样子的流程了。。
public void del(Adress adress){
this.getHibernateTemplate().delete(adress);
}

 

 

<a href="javascript:history.go(-1)">上一页</a>&nbsp;&nbsp;
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">

展开阅读全文

没有更多推荐了,返回首页