Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Java HibernateDaoSupport.getSession已弃用:如何替换它以创建条件?_Java_Spring_Hibernate_Criteria - Fatal编程技术网

Java HibernateDaoSupport.getSession已弃用:如何替换它以创建条件?

Java HibernateDaoSupport.getSession已弃用:如何替换它以创建条件?,java,spring,hibernate,criteria,Java,Spring,Hibernate,Criteria,我没有太多的实践标准,更不用说像HibernateDaoSupport这样的Spring类了 我继承了一个项目,其中所有Dao都扩展了HibernateDaoSupport,并且所有方法都以这种方式使用条件: final Criteria criteria = this.getSession().createCriteria(MyClass.class, "alias"); 由于我在Maven下迁移了该项目,并升级了Spring版本(3.0.4->3.2.17),因此getSession不受欢

我没有太多的实践标准,更不用说像HibernateDaoSupport这样的Spring类了

我继承了一个项目,其中所有Dao都扩展了HibernateDaoSupport,并且所有方法都以这种方式使用条件:

final Criteria criteria = this.getSession().createCriteria(MyClass.class, "alias");
由于我在Maven下迁移了该项目,并升级了Spring版本(3.0.4->3.2.17),因此getSession不受欢迎

重构所有标准创建的最佳实践是什么

多谢各位


PS:做了一些研究,目前还没有找到真正的解决方案……所以请原谅我,如果这是一个重复的主题,或者如果在实践中有一个微不足道的答案,那么直接使用SessionFactory是一个很好的做法

经过研究,这是因为在Spring3中,事务管理现在是“最优的”。 但是,不幸的是,在这个继承的项目中,Spring配置(1.x)非常糟糕,不进行重构就无法使用SessionFactory


最后,我们选择了HibernateTemplate而不是HibernateDaoSupport。其用于创建条件的getSession方法未被弃用。

HibernateTemplate.execute是否适合您的目的?。使用方法doInHibernate(会话)获取HibernateCallback作为参数,您应该使用SessionFactory而不是HibernateDataSupport。根据:那么用这个.getSessionFactory().getCurrentSession()替换这个.getSession()?因为我不想重构所有不对等的应用程序(太多的行代码)。交易中的问题。getSession从3.2.7开始就被弃用,因此它是最新的。