1

I am in conflict with a colleague.

Assuming we implement Short-Lived-Sessions in Hibernate. I mean

public int createUser(String eMail){
    User u = new User();
    u.setEMail(eMail);
    em.persist(u);
    return u.getUserId();
}

// time to think.

public void changeUserEMail(int userId, String newEMail){
    User user = (User) em.find(User.class, userId);
    user.setEMail(newEMail);
    em.persist(user);
}

is Short-Lived-Sessions. Whearat my Colleague mean:

public User createUser(String eMail){
    User user = new User();
    user.setEMail(eMail);
    em.persist(user);
    return user;
} // detach after call

// time to think

public void changeUserEMail(User user, String newEMail) {
    em.merge(user); // attach
    user.setEMail(eMail);
    em.persist(user);
} // detach after call

is Short-Lived-Session too.

Who is more right?

4

0 回答 0