hibernate 多对一操作时 删除子表时,总是删除主表或更新主表。很讨厌,看来hibernate 得会玩才能玩得好呀。
http://wuxj888.iteye.com/blog/140532
3 楼
yongganzhe 2007-11-27
引用
解决方法:利用hibernate的自定义的级联删除,不要使用jpa的
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
.....................//
@OneToMany(mappedBy="enterprise")
@Cascade(value={CascadeType.SAVE_UPDATE})
................................//
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
.....................//
@OneToMany(mappedBy="enterprise")
@Cascade(value={CascadeType.SAVE_UPDATE})
................................//
在Person表关系定义如下:
@ManyToOne(cascade = { CascadeType.PERSIST,CascadeType.MERGE})
@JoinColumn(name = "HOSPITAL_ID")
改为:
@ManyToOne()
@Cascade(value={CascadeType.SAVE_UPDATE})
@JoinColumn(name = "HOSPITAL_ID")
并把
import javax.persistence.CascadeType;
import javax.persistence.Cascade;
改成
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
谢谢!