zoukankan      html  css  js  c++  java
  • Hibernate批量抓取

    ------------------siwuxie095

       

       

       

       

       

       

       

    Hibernate 批量抓取

       

       

    以客户和联系人为例(一对多)

       

       

    1、批量抓取

       

    同时查询多个对象的关联对象,是 Hibernate 抓取策略的一种

       

       

       

       

    2、一般情况下,会发送多条 sql 语句,效率低下

       

    如:查询所有客户,返回 List 集合,遍历该 List 集合,得到每

    个客户的所有联系人

       

       

       

    // 查询所有客户

    Criteria criteria=session.createCriteria(Customer.class);

    List<Customer> list=criteria.list();

    // 得到每个客户的所有联系人

    for (Customer customer : list) {

    System.out.println(customer.getCid()+"::"+customer.getCustName());

    Set<LinkMan> linkMans=customer.getLinkManSet();

    for (LinkMan linkMan : linkMans) {

    System.out.println("---"+linkMan.getLid()+"::"+linkMan.getLkmName());

    }

    }

       

       

       

       

    3、采用批量抓取进行优化,减少 sql 语句的发送条数

       

    1)在客户的映射配置文件中的 set 标签上添加 batch-size 属性

       

    2)batch-size 的值越大,发送的 sql 语句条数越少

       

       

       

    「显然,数据量越大,效果越明显」

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    发送trim值
    关一些时钟
    不同频率下的pwm配置
    c#鼠标在控件上面,然后显示文字
    C#通过文件路径截取对应的文件夹路径
    C#随机生成连续多少个十六进制数字
    C#检测串口被拔掉等一些触发事件合集
    c#按键Up和Down对Textbox的内容加1减1
    软件架构师工作历程
    软件架构阅读6
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7302643.html
Copyright © 2011-2022 走看看