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

    单端代理的批量抓取

    查询抓取:另外发送一条select语句抓取当前对象的关联实体和集合

    <many-to-one name="classes" column="classesid" fetch="select" />

    连接抓取:通过在select语句使用outer join来获得对象的关联实例或关联集合

    <many-to-one name="classes" column="classesid" fetch="join" />

    使用join会使lazy失效

    子查询抓取:另外发送一条select语句抓取在前面查询到的所有实体对象的关联集合

    <set name="students"  order-by="id"  inverse="true" cascade="all"  fetch="subselect">

    <key column="classesid" not-null="true"/>

    <one-to-many class="Student"/>

    </set>

    此抓取策略表示先查询一个实体对象,然后再通过一条select语句把此实体对象相关联的对象集合查询出来。

    <class name="Classes" table="t_classes" batch-size="10">

       <id name="id">

             <generator class="native"/>

       </id>

       <property name="name"/>

       <set name="students" order-by="id" inverse="true" cascade="all">

                <key column="classesid"/>

                <one-to-many class="Student"/>

        </set>

     </class>

    其中属性batch-size:表示批量把数据查询出来,该实现是通过在sql语句后添加

    in(?,?,?..) 函数来实现的。

    batch_size还可以在Session-Factory中设置:

    <property name="hibernate.jdbc.batch_size">30</property>

    <property name="hibernate.jdbc.fetch_size">50</property>

  • 相关阅读:
    进程 线程
    random模块 时间模块 sys模块 os模块 json模块 pickle模块
    异常处理
    面向对象进阶篇
    面向对象初级篇
    正则表达式
    re模块的相关知识
    CNN归纳偏好
    window和Linux下安装nvidia的apex
    使用GrabCut做分割
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1958998.html
Copyright © 2011-2022 走看看