我的项目中只要使用到DetachedCriteria(或者Criteria)就会出现延迟加载失败(No session or session closed),主要是页面调用延迟加载项的时候。相反如果是使用一般HQL去查询就不会有这个问题。我使用了Spring提供的OpenSessionViewFilter。DetachedCriteria应该不会和延迟加载不兼容吧?或者是我的配置哪里有问题?
你可以试试这样
[code="java"]
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(XXX.class);
Criteria criteria = detachedCriteria.getExecutableCriteria(sessionFactory.getCurrentSession());
List results = criteria.list();
[/code]
关键点是session是通过[code="java"]sessionFactory.getCurrentSession()[/code]来得到的