HibernateDaoSupport.getSession 已弃用:如何替换它以创建标准?

HibernateDaoSupport.getSession deprecated : How to replace it to create Criteria?

我没有太多练习标准,使用 Spring 类(例如 HibernateDaoSupport)就更少了。

我继承了一个项目,所有的 Dao 都扩展了 HibernateDaoSupport,所有的方法都是这样使用 Criteria 的:

final Criteria criteria = this.getSession().createCriteria(MyClass.class, "alias");

由于我将项目迁移到 Maven 下并升级了 Spring 版本(3.0.4 -> 3.2.17),getSession 已被弃用。

重构所有条件创建的最佳实践是什么?

谢谢。

PS: 进行了一些研究,暂时没有找到真正的解决方案...所以如果它是一个重复的主题或者有一个微不足道的答案,请原谅我

实际上,直接使用 SessionFactory 是一种很好的做法。

经过研究,这是因为在 Spring 3 中,事务管理现在是 "optimal"。 但是,不幸的是,在这个继承的项目中,Spring 配置 (1.x) 很糟糕,如果不重构就无法使用 SessionFactory。

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