Edycja obiektu poza sesją i utrwalenie w kolejnej sesji

0

Hey!
próbuję zrozumieć ideę metody merge() z Hibernate.
Czytałem że bardzo popularny jest scenariusz, gdzie pobieramy obiekt w jednej sesji, zamykamy sesję, edytujemy obiekt,( który jest wtedy detached) a następnie otwieramy kolejną sesję i utrwalamy zmodyfikowany obiekt w bazie danych.
Niestety jak zamknę sesję, to nie mogę edytować obiektu.
Robię to w skrócie tak:
W 1 sesji:

em.getTransaction().begin();
    Employee employee2=em.getReference(Employee.class,6040);
   em.getTransaction().commit(); 
em.close();

//poza sesja
employee2.setName("Ciasteczko"); //tu wywala błąd


// w 2 sesji chciałbym utrwalić obiekt
em=JPAUtil.getMySqlEntityManagerFactory().createEntityManager();
em.getTransaction().begin();
 Employee mergedEmployee=(Employee)em.merge(employee2);
 em.getTransaction().commit();
 em.close();
0

Może jakiś detach trzeba wykonać na tym obiekcie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1