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

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

    学而不思则罔 思而不学则殆
  • 相关阅读:
    diary and html 文本颜色编辑,行距和其它编辑总汇
    bash coding to changeNames
    virtualbox ubuntu 网络连接 以及 连接 secureCRT
    linux 学习6 软件包安装
    linux 学习8 权限管理
    vim 使用2 转载 为了打开方便
    ubuntu
    linux 学习15 16 启动管理,备份和恢复
    linux 学习 14 日志管理
    linux 学习 13 系统管理
  • 原文地址:https://www.cnblogs.com/liu-wang/p/8682437.html
Copyright © 2011-2022 走看看