zoukankan      html  css  js  c++  java
  • 【Hibernate】抓取策略

    一、区分延迟和立即检索

    • 立即检索:
      • 当执行某行代码的时候,马上发出SQL语句进行查询.
      • get()
    • 延迟检索:
      • 当执行某行代码的时候,不会马上发出SQL语句进行查询.当真正使用这个对象的时候才会发送SQL语句.
      • load();

    二、类级别检索和关联级别检索

    • 类级别的检索:
      • <class>标签上配置lazy
    • 关联级别的检索:

      • /上面的lazy.
    • 查询某个对象的时候,是否需要查询关联对象?

    • 查询关联对象的时候是否采用延迟检索?

    • 从一的一方关联多的一方:

      • fetch:控制sql语句的类型

        • join : 发送迫切左外连接的SQL查询关联对象.fetch=”join”那么lazy被忽略了.
        • select : 默认值,发送多条SQL查询关联对象.
        • subselect : 发送子查询查询关联对象.(需要使用Query接口测试)
      • lazy:控制关联对象的检索是否采用延迟.

        • true : 默认值, 查询关联对象的时候使用延迟检索
        • false : 查询关联对象的时候不使用延迟检索.
        • extra : 及其懒惰.
      • 如果fetch是join的情况,lazy属性将会忽略.

    • 在多的一方关联一的一方:

      • fetch:控制SQL语句发送格式
      • join : 发送一个迫切左外连接查询关联对象.fetch=”join”,lay属性会被忽略.
      • select : 发送多条SQL检索关联对象.
      • lazy:关联对象检索的时候,是否采用延迟
      • false : 不延迟
      • proxy : 使用代理.检索订单额时候,是否马上检索客户 由Customer对象的映射文件中上lazy属性来决定.
      • no-proxy : 不使用代理
  • 相关阅读:
    centos7中Apache,MySQL,php安装和项目
    centos7中Apache,MySQL,php安装
    tp5中index.php的隐藏
    php打印
    绝对与相对的区别
    tinkphp框架中config.php中数组中参数的意义
    tinkphp框架开启调试
    获取唯一随机数
    如何在magento中建立自定义页面
    获取用户邮寄地址
  • 原文地址:https://www.cnblogs.com/haoworld/p/hibernate-zhua-qu-ce-lue.html
Copyright © 2011-2022 走看看