Hibernate中cascade的配置

来源:互联网 发布:单片机程序下载 编辑:程序博客网 时间:2024/05/03 01:22

hibernate中一对多中,会用到级联操作.即:有collection的一端操作,被关联的表要自动操作.

 

这时有collection一端需要配置<set cascade="?">

 

cascade属性的可选值:
all : 所有情况下均进行关联操作。
none:所有情况下均不进行关联操作。这是默认值。
save-update:在执行save/update/saveOrUpdate时进行关联操作。
delete:在执行delete时进行关联操作

all-delete-orphan:所有情况,包括set.remove()

 

如果使用set进行remove时,最好配置成all-delete-orphan,这样可以进行删除级联表中的对象.

 

另外set.remove()会报错, java.util.ConcurrentModificationException

尝试用Collections.sychronizedSet()也会报错,可能该方法不适合这里.

解决方法:测了几遍没有出现问题.

就是把要删除的对象存到新tempSet中,

然后set.removeAll(tempSet);

 

 

 

 

 

 

 

原创粉丝点击