HibernateTemplate与HibernateDaoSupport对比SessionFactory注入

Aru*_*mar 3 spring hibernate

我在许多论坛上看到过,仍然处于混乱状态.我们正在使用Spring 3.1和Hibernate 4开始一个新项目,需要决定使用Spring的Hibernate策略:

  1. 直接访问Hibernate

    Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction();

  2. 使用HibernateTemplate

    列表bb =(列表)hibernateTemplate.find("来自实体");

  3. 使用HibernateDAOSupport类

    列表bb =(List)getHibernateTemplate().find("from Entity");

你能帮我点什么用吗?我已经阅读了CodeRanch和另一个链接,它告诉我们从Hibernate 3.x开始我们应该注入SessionFactory我们的DAO类(使用@Repository).

有人可以详细解释一下吗?

问候,

阿伦库马尔

JB *_*zet 9

Spring本身建议不再使用HibernateTemplate,在类的javadoc中.您可以直接将会话工厂声明为Spring bean,将其作为任何其他Spring bean注入您自己的组件中,并直接使用本机Hibernate API(使用sessionFactory.getCurrentSession()).