读书人

级联保存的奇怪有关问题

发布时间: 2012-10-09 10:21:45 作者: rapoo

级联保存的奇怪问题

同步:http://www.java1995.cn/blog/item/136

上一文cascadetype讲解了使用CascadeType的用处。

在一对多的时候,使用CascadeType.PERSIST 的时候,保存one方的时候,不会去保存many方。

设成CascadeType.ALL就可以

解决办法:

在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;

这样子就成功了。

读书人网 >软件架构设计

热点推荐