我有雙向,一對多和多對一的關係。比方說,一個公司有很多的人,和一個人有一個公司,所以,在公司,JPA OneToMany,始終爲空
@OneToMany(mappedBy = "company", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Collection<Person> persons;
和人,
@ManyToOne
@JoinColumn(name="COMPANY_ID")
private Company company;
現在,說我有一個@PrePersist/@PreUpdate方法在公司,在那裏當它被更新,我想設置上所有的人相同的時間戳...像,
@PrePersist
@PreUpdate
public void setLastModified() {
this.lastModified = System.currentTimeMillis();
if (persons != null) {
for (Person person : persons) {
person.setLastModified(this.lastModified);
}
}
}
當我調試此,筆者看到,在公司人員現場總是空的。當我查看個人集合的類型時,它是一個java.util.Vector。不確定這是否相關。我期望看到一些自動加載的JPA集合類型。
我在做什麼錯?
感謝。我還沒有機會驗證這一點,但當我這樣做時,我會更新這個問題。 – 2011-03-06 17:36:10
這並不能解決問題。 – 2011-03-10 17:47:57