3

考虑以下代码:

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

}

的主要任务之一HibernateTemplate是透明地打开和关闭会话。

在上面的代码中有两种方法saveUser()deleteUser()我想问一下:

1)将为HibernateTemplate这两种方法创建两个单独的会话,并且在这种情况下发生会话的关闭/刷新。

2)它和spring事务一样吗,就像在spring中一样,事务是方法调用和打开时建议的,会话的关闭发生在方法/事务的边界上?

4

1 回答 1

0

默认刷新模式是FlushMode.AUTO. 看看下面的链接。我想它会回答你的问题。

http://static.springsource.org/spring/docs/1.2.9/api/org/springframework/orm/hibernate3/HibernateAccessor.html#setFlushMode(int)

http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/FlushMode.html

于 2012-09-02T11:22:57.800 回答