Hibernate не может инициализировать прокси - нет сеанса

Мой код извлекает всю информацию, связанную с пользователем:

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());
}

ud.getAddresses() просто возвращает наборAddressЯ пользователя.

Мой вопрос: почемуud объект все еще имеет свое значение (например, имя), даже если сессия уже закрыта?getAddresses() является переменной экземпляраUserDetails класс. Но почему я не могу получить его значение, а могу получить обычные переменные экземпляраUserDetails класс?

ud.getAddresses() является@EmbeddedCollection.

Ответы на вопрос(3)

Ваш ответ на вопрос