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.

что я делаю не так?

9
задан Jeffrey Blattman 26 February 2011 в 00:28
поделиться