【发布时间】:2011-05-10 09:44:20
【问题描述】:
我在类 Resident 和 ResidentInfo 之间有 OneToMany 关系 ResidentInfo 不应该在没有 Resident 的情况下存在,但 ResidentInfo 不是必需的
这是我的课程:
public class Resident {
...
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}, mappedBy = "resident")
@Cascade({org.hibernate.annotations.CascadeType.ALL})
public List<ResidentInfo> infos;
}
public class ResidentInfo {
...
@ManyToOne(optional = false)
public Resident resident;
public String label;
public String value;
}
我是 JPA 的新手,也许我做错了。
问题是当我尝试一次插入所有数据(同时创建常驻及其信息)时,我遇到了一个空异常。
这是因为 ResidentInfo.resident.id 为空(但我无法指定值,因为 Resident 是同时创建的!)
另外,即使先创建了居民,我也有这个错误,但我不知道为什么:
detached entity passed to persist: models.ResidentInfo
那么如何解决这些问题呢?
【问题讨论】:
标签: jpa one-to-many