tengo una relación bidireccional, uno para muchos y muchos para uno. por ejemplo, una empresa tiene muchas personas, y unas personas que tiene una empresa, por lo que, en la compañía,JPA OneToMany, siempre vacío
@OneToMany(mappedBy = "company", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Collection<Person> persons;
y en persona,
@ManyToOne
@JoinColumn(name="COMPANY_ID")
private Company company;
ahora, decir que tengo un método @PrePersist/@PreUpdate en la empresa, donde cuando se actualiza, quiero establecer la misma marca de tiempo en todas las personas ... como,
@PrePersist
@PreUpdate
public void setLastModified() {
this.lastModified = System.currentTimeMillis();
if (persons != null) {
for (Person person : persons) {
person.setLastModified(this.lastModified);
}
}
}
cuando depurar este, veo que el campo de las personas en la empresa siempre está vacío. cuando miro el tipo de la colección de personas, es un java.util.Vector. no estoy seguro de si eso es relevante. esperaba ver algún tipo de colección de JPA de carga automática.
¿Qué estoy haciendo mal?
gracias. Todavía no tengo la oportunidad de verificar esto, pero actualizaré esta pregunta cuando lo haga. –
esto no resuelve el problema. –