Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring HibernateTemplate vs HibernateDaoSupport vs SessionFactory注入_Spring_Hibernate - Fatal编程技术网

Spring HibernateTemplate vs HibernateDaoSupport vs SessionFactory注入

Spring HibernateTemplate vs HibernateDaoSupport vs SessionFactory注入,spring,hibernate,Spring,Hibernate,我在很多论坛上都看到过,但仍然很困惑。我们正在使用Spring 3.1和Hibernate 4启动一个新项目,需要决定使用Spring进行Hibernate的策略: 直接访问Hibernate 会话会话=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction() 使用HibernateTemplate List bb=(List)hibernateTemplate.find(“来自实体”) 使

我在很多论坛上都看到过,但仍然很困惑。我们正在使用Spring 3.1和Hibernate 4启动一个新项目,需要决定使用Spring进行Hibernate的策略:

  • 直接访问Hibernate

    会话会话=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction()

  • 使用HibernateTemplate

    List bb=(List)hibernateTemplate.find(“来自实体”)

  • 使用HibernateDAOSupport类

    List bb=(List)getHibernateTemplate().find(“从实体”)

  • 你能帮我用什么吗?我已经读过一篇又一篇文章,其中告诉我们从hibernate3.x开始,我们应该在DAO类中注入
    SessionFactory
    (使用
    @Repository

    有人能详细解释一下吗

    问候,


    Arun Kumar

    如果必须使用Hibernate,最好的办法是忽略Code Ranch(等等),并遵循Spring的建议:


    Spring本身建议不再使用HibernateTemplate,因为它是类的一部分。您可以直接将它作为任何其他Springbean注入您自己的组件中,并直接使用本机Hibernate API(使用)。

    现在建议Hibernate 4使用SessionFactory自动打开/关闭连接。因此无需使用HibernateTemplate类。

    确保您确实需要Hibernate。没有必要使用数据库。在您假设之前,请确保您知道好处和权衡。新项目的Hibernate已经完成。但需要从上面了解最佳策略。好问题,不同技术之间有太多重叠。