次のコードを検討してください。
public class UserDAOImpl implements UserDAO {
private HibernateTemplate hibernateTemplate;
public void setSessionFactory(SessionFactory sessionFactory){
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}
public void saveUser(User user) {
hibernateTemplate.saveOrUpdate(user);
}
public void deleteUser(User user) {
hibernateTemplate.delete(user);
}
}
の主なタスクの 1 つはHibernateTemplate
、セッションを透過的に開いたり閉じたりすることです。
上記のコードには 2 つのメソッドがsaveUser()
ありdeleteUser()
、質問したいのは次のとおりです。
1)HibernateTemplate
これら 2 つのメソッドに対して 2 つの個別のセッションを作成し、この場合、セッションの終了/フラッシュが発生したとき。
2)スプリングトランザクションと同じですか?春には、メソッド呼び出しとセッションの開始時にトランザクションがアドバイスされ、メソッド/トランザクションの境界でセッションが閉じられますか?