何时使用分离标准?我们通过使用分离标准而不是正常标准获得的优势是什么?
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Some.class);
DetachedCriteria criteria = DetachedCriteria.forClass(Some.class);
Run Code Online (Sandbox Code Playgroud)
谢谢!
Jag*_*esh 10
'与会话对象
分离' 分离标准可以在两种情况下使用:
构建没有会话对象的条件查询:
会话仅在执行查询/向数据库提交查询期间需要,而不是在构建查询时.
例如:
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Department.class);
detachedCriteria.add(Restrictions.eq("DEPTID", 1));
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.property("DEPTID"));
detachedCriteria.setProjection(projectionList);
//Add more
.............................
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,您是否发现有必要使用会话对象来构建此类条件查询?绝对没有.
多次构建相同的条件查询:
无论会话对象如何,都可以构建一次,并且可以随时随地使用.
最后,当会话对象可用时,使用上面的会话查询,如下所示:
detachedCriteria.getExecutableCriteria(session).list();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29794 次 |
最近记录: |