Java 共享对象实例时的短生命周期会话?
我与一位同事发生冲突 假设我们在Hibernate中实现短期会话。我是说Java 共享对象实例时的短生命周期会话?,java,hibernate,entitymanager,Java,Hibernate,Entitymanager,我与一位同事发生冲突 假设我们在Hibernate中实现短期会话。我是说 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){
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);
}
这是短期会话。我的同事是什么意思
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
也是短命的会话
谁更正确