Hibernate no pudo inicializar proxy - no sesión
Mi código recupera toda la información relacionada con el usuario:
SessionFactory sessionFactory = HibernateUtilities.configureSessionFactory();
Session session = sessionFactory.openSession();
UserDetails ud = null;
Set<Address> userAddress = null;
try {
session.beginTransaction();
ud = (UserDetails) session.get(UserDetails.class, 1);
userAddress = ud.getAddresses();
session.getTransaction().commit();
} catch (HibernateException e) {
e.printStackTrace();
session.getTransaction().rollback();
} finally {
session.close();
}
System.out.println(ud.getName());
for(Address addr: userAddress){
System.out.println("State " + addr.getState());
}
losud.getAddresses()
simplemente devuelve un conjunto deAddress
Es del usuario.
Mi pregunta es: ¿por qué laud
objeto todavía tiene su valor (por ejemplo, nombre) a pesar de que la sesión ya está cerrada?getAddresses()
es una variable de instancia delUserDetails
clase. Pero, ¿por qué no puedo recuperar su valor pero puedo recuperar variables de instancia regulares deUserDetails
¿clase?
ud.getAddresses()
es un@EmbeddedCollection
.