zoukankan      html  css  js  c++  java
  • NHibernate中用Criteria查询,不采用SetResultTransformer(new DistinctRootEntityResultTransformer())处理Distinct

    SetResultTransformer(new DistinctRootEntityResultTransformer())方法受SetResultTransformer模式的限制(先(数据库中)查询,后(数据库外)处理),主要问题有2:

    1. 性能

    2. 分页计数错误(数据库中算的和后来内存中distinct出来的当然不一样)

    所以应该用其他方法替代。而Criteria没有HQL那么直接的distinct关键字可用,需要构建稍微复杂点的代码,尤其是写的Criteria是为一个范型T服务的时候,需要考虑到各种情况。当然,因为用的是范型,所以Criteria会比HQL更适合,所谓得失之间吧。

    业务场景:查询任何实体类型及其关联对象,要求能分页,排序,添加任何查询条件,返回总数。

    基本思路和实现方式:已经实现,占坑待续...(上来是写ext的,这里顺便占个坑)

  • 相关阅读:
    事件类型
    program的发展史与两个数学方法
    字符统计与基本正则
    bom与dom
    css长度单位及颜色表示
    grid学习
    position定位的认识
    remark:node端口的close-wait
    css background属性设置
    Promise之我发现
  • 原文地址:https://www.cnblogs.com/damnedmoon/p/1743688.html
Copyright © 2011-2022 走看看