У меня двунаправленное отношение один ко многим и много ко одному. скажем, в компании много людей, а у людей есть одна компания, поэтому в компании
@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);
}
}
}
когда я отлаживаю это, я вижу, что поле персон в Company всегда пусто. когда я смотрю на тип коллекции лиц, это java.util.Vector. не уверен, что это актуально. я ожидал увидеть автозагрузку типа коллекции JPA.
что я делаю не так?