Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
在hibernate中何时使用分离的条件?_Hibernate - Fatal编程技术网

在hibernate中何时使用分离的条件?

在hibernate中何时使用分离的条件?,hibernate,Hibernate,何时使用分离标准?使用分离的标准而不是正常的标准有什么好处 Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Some.class); DetachedCriteria criteria = DetachedCriteria.forClass(Some.class); 谢谢 根据 有些应用程序需要在“分离模式”下创建条件查询, 其中Hibernate会话不可用。这个班可能是 在任何地方实例化,然后可以

何时使用分离标准?使用分离的标准而不是正常的标准有什么好处

Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Some.class);


DetachedCriteria criteria = DetachedCriteria.forClass(Some.class);
谢谢

根据

有些应用程序需要在“分离模式”下创建条件查询, 其中Hibernate会话不可用。这个班可能是 在任何地方实例化,然后可以通过传递 到
getExecutableCriteria()
的会话。所有方法都具有相同的特性 语义和行为作为相应方法的标准 接口


“已从会话对象分离”

分离的标准可用于两种情况:

  • 无会话对象的生成条件查询:
    会话仅在执行查询/将查询提交到数据库时需要,而不是在生成查询时需要

    例:

    在上面的代码中,您是否发现有必要使用session对象来构建这样的条件查询?绝对不是

  • 多次生成相同的条件查询:
    不考虑会话对象,只生成一次,可以在任何时候/任何地方使用

  • 最后,当session对象可用时,对session使用上述查询,如下所示:

    detachedCriteria.getExecutableCriteria(session).list();
    
    detachedCriteria.getExecutableCriteria(session).list();