Sto usando Hibernate JPA con e hanno un rapporto che assomiglia a questo:JPA/Hibernate proxy non il recupero dei dati oggetto reale, imposta tutte le proprietà su null
public class PencilImpl implements Pencil {
@ManyToOne(targetEntity = PersonImpl.class, fetch = FetchType.LAZY)
@JoinColumn(name = "owner", nullable = false)
private Person owner;
...
@Override
public final Person getOwner() {
return owner;
}
}
Da quando ho iniziato ad usare il LAZY tipo di recuperare, ogni volta che cerco di ottenere il proprietario di una matita (pencil.getOwner) Ottengo un oggetto non null che ha tutte le sue proprietà interne impostate su null.
Mi sembra che il proxy creato da Hibernate non recuperi l'oggetto reale dal database quando dovrebbe.
Qualche idea? Grazie :)
Stai chiamando i getter e ottieni nulla? O stai ispezionando l'oggetto in un debugger? Se il primo, prova a rimuovere il modificatore finale sui getter. Se quest'ultimo, prova in realtà a chiamare i Getter. –
Vedere anche http://blog.bolkey.com/2009/05/hibernate-datanucleus-r1/ – DataNucleus