zoukankan      html  css  js  c++  java
  • Hibernate-HQL-Criteria-查询优化

    1 查询总结

    1. oid查询-get
    2. 对象属性导航查询
    3. HQL
    4. Criteria
    5. 原生SQL

    2 查询-HQL语法

    2.1 基础语法

    2.2 进阶语法

    排序

    条件

    分页

    聚合

     

    投影

    多表查询

    SQL

     

    HQL

    HQL语法

    内连接

     左外链接

    右外连接

    3 查询-Criteria语法

    3.1 语法

    基本

    条件

    分页

    排序

    统计

    3.2 离线查询

     非离线

    离线

    演示

    4 查询优化

    4.1 类级别查询

    get方法:没有任何策略.调用即立即查询数据库加载数据.

    load方法: 应用类级别的加载策略

    lazy(默认值):true, 查询类时,会返回代理对象.会在使用属性时,根据关联的session查询数据库.加载数据.

    lazy:false. load方法会与get方法没有任何区别.调用时即加载数据.

     结论:为了提高效率.建议使用延迟加载(懒加载)

    注意:使用懒加载时要确保,调用属性加载数据时,session还是打开的.不然会抛出异常

    4.2 关联级别查询

    集合策略

    关联属性策略

    结论:为了提高效率.fetch的选择上应选择select. lazy的取值应选择 true. 全部使用默认值.

    no-session问题解决: 扩大session的作用范围.


    作者:8亩田
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.

    本文如对您有帮助,还请多帮 【推荐】 下此文。
    如果喜欢我的文章,请关注我的公众号
    如果有疑问,请下面留言

    学而不思则罔 思而不学则殆
  • 相关阅读:
    操作系统原理5——文件管理
    Hadoop worldcount
    Java Future源码分析
    HBase入门教程
    Java自定义cas操作
    dubbo客户端源码分析(一)
    log4j2配置文件
    paxos协议
    Guava限流工具RateLimiter使用
    jvm内置锁synchronized不能被中断
  • 原文地址:https://www.cnblogs.com/liu-wang/p/8682437.html
Copyright © 2011-2022 走看看