Hibernate saveAndUpdate不会持久化关系,而merge会持久化关系
我拥有以下实体,关系如下:Hibernate saveAndUpdate不会持久化关系,而merge会持久化关系,hibernate,Hibernate,我拥有以下实体,关系如下: @Entity @Table(name = "bpr_user") public abstract class User { ... @OneToOne(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.REMOVE}) @JoinColumn(name = "bcard_id", nu
@Entity
@Table(name = "bpr_user")
public abstract class User {
...
@OneToOne(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.REMOVE})
@JoinColumn(name = "bcard_id", nullable = true)
public BCard getBcard() {
return bcard;
}
}
当我像这样运行merge时:
Adult adult = new Adult();
BCard bcard = createBCard();
adult.setBcard(bcard);
adult = adultDao.merge(adult);
Bcard实体将被持久化并提供一个id,但如果我使用saveOrUpdate,则仅成人将被持久化,而不是Bcard。为什么
Adult adult = new Adult();
BCard bcard = createBCard();
adult.setBcard(bcard);
adult = adultDao.saveOrUpdate(adult);
因为您已经为合并配置了级联,但没有为保存更新配置级联 使用添加用于保存更新的级联