我沒有太多的實踐標準,甚至更少的使用Spring類,如HibernateDaoSupport。HibernateDaoSupport.getSession已棄用:如何將其替換爲創建Criteria?
我繼承了一個項目的所有道延伸的HibernateDaoSupport,和所有的方法都使用這樣的標準:
final Criteria criteria = this.getSession().createCriteria(MyClass.class, "alias");
因爲我的Maven遷移下的項目和升級的Spring版本(3.0.4 - > 3.2.17),getSession已被棄用。
重構所有Criteria創建的最佳實踐是什麼?
謝謝。
PS:做了一些研究,沒有發現此刻真正的解決辦法......所以請原諒我,如果這是一個重複的主題,或者如果有一個簡單的答案
是HibernateTemplate.execute是否適合您的目的?它使用方法doInHibernate(Session)獲取HibernateCallback作爲參數 –
您應該使用SessionFactory而不是HibernateDaoSupport。按照: http://stackoverflow.com/questions/5104765/why-is-hibernatedaosupport-not-recommended http://stackoverflow.com/questions/11188633/hibernatedaosupport-in-hibernate-4-0 –
所以替換this.getSession()通過this.getSessionFactory()。getCurrentSession()?因爲我不想重現所有的應用程序(太多行代碼) – MychaL