【发布时间】:2011-02-26 00:28:21
【问题描述】:
我有一个双向、一对多和多对一的关系。比如说,一个公司有很多人,一个人有一个公司,所以,在公司里,
@OneToMany(mappedBy = "company", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Collection<Person> persons;
亲自,
@ManyToOne
@JoinColumn(name="COMPANY_ID")
private Company company;
现在,假设我在 Company 上有一个 @PrePersist / @PreUpdate 方法,当它更新时,我想为所有 People 设置相同的时间戳......就像,
@PrePersist
@PreUpdate
public void setLastModified() {
this.lastModified = System.currentTimeMillis();
if (persons != null) {
for (Person person : persons) {
person.setLastModified(this.lastModified);
}
}
}
当我调试它时,我看到公司中的人员字段始终为空。当我查看persons 集合的类型时,它是一个java.util.Vector。不确定这是否相关。我希望看到一些自动加载的 JPA 集合类型。
我做错了什么?
【问题讨论】:
标签: jpa one-to-many