Sto usando JPA (Hibernate come mio provider JPA). Sto davvero cercando di evitare le specifiche di ibernazione e utilizzare le specifiche JPA. Ho una funzione che inizializza le entità pigre. Sfortunatamente, utilizza funzioni specifiche di ibernazione. Questa è la mia funzione:Metodo JPA standard per inizializzare l'entità pigra
private T initializeAndUnproxy(T entity) {
if (entity == null) {
throw new
NullPointerException("Entity passed for initialization is null");
}
Hibernate.initialize(entity);
if (entity instanceof HibernateProxy) {
entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation();
}
return entity;
}
Esiste un modo JPA puro per inizializzare le entità?
Per quanto riguarda l'ultima frase: non l'ho mai usato, ma che ne dici di usare Entitygraphs per recuperare entità complete (https://docs.oracle.com/javaee/7/api/javax/persistence/EntityGraph.html)? Non sarebbe possibile recuperare il grafo di entità di un'entità e aggiungere tutte le proprietà lazy del suo metamodello come AttributeNodes (e quindi recuperarlo)? –