站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题问一个问题.关于hibernate级联删除的问题

问一个问题.关于hibernate级联删除的问题

摘要: 问一个问题.关于hibernate级联删除的问题


有2个表.user 和role 表.他们是one to many的关系
我现在的文件设置是
class="hibernate.RoleTable" />






它现在总2边都删除掉了
我现在想删除role 的时候不自动删除user.
要怎么办.请大虾们帮忙..



class="hibernate.RoleTable" />
在这里加上 cascade="none" ,改后的many一端配置是:
name="roleTable"
column="ROLE_ID"
cascade="none"
class="hibernate.RoleTable" />




还是不行.1删除2个都删掉了..要怎么设置呢..


感觉您数据库设计的有问题。user表 最好别和 user权限表 掺和。 role删除了 就应该在user权限表中删除有这个role的user。 而 user表没有变。 我建议是三张表。
岗责体系是系统设计的基础,神州数码的ctais2.0就很牛×。


我的这个role只是角色名字而已.具体的权限是在另一个表里定义的.
就是说role是user 和权限的中间那个部分.


其实你也可以设置为单向多对一关联就可以了,不要设置为双向关联.既把那一行去掉。这样删除role的时候就不会自动删除user,如果你想删除user对象的时候再写代码来删除就可以了。



还有如果你想设置为双向关联又不想删除user的时候应该是把中的cascade属性的值设为"none"就可以了,当cascade的值为"save-update"就表示保存或更新当前对象时候,会级联保存或更新与它关联的对象."none"就表示不保存或更新关联的对象.



你是在数据库设置了级联删除吧
这跟HIBERNATE无关了


OK了.谢了各位.我用的是先去与role关联着的那个user改为null后.在去删除role的
不知道这样好不好.但 实现了我的要求.
采用zling1981: 你说的单向.也能实现.

感谢了.


↑返回目录
前一篇: 80分type Exception report!
后一篇: 使用连接池的时候发生错误~~~