1

私は同僚と衝突しています。

Hibernate で Short-Lived-Sessions を実装すると仮定します。つまり

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

Short-Lived-Sessions です。私の同僚の意味は次のとおりです。

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

Short-Lived-Session もあります。

誰がより正しいですか?

4

0 に答える 0