hibernate 优化(针对查询)

一,抓取策略

1.抓取策略种类:

     join :连接抓取

     select :查询抓取

     subselect :子查询抓取(get,load的执行结果和select一样,会影响hql执行

2.使用方法

    1.单端 代理的批量抓取:fetch="select",fetch="join"

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

 

    2.集合 代理的批量抓取

        如:<set name="students" inverse="true" cascade="all" fetch="select /join /subselect ">

 

二,批量加载( 可以批量加载实体类

     1,单端

      <class>中有个batch-szie 属性

     2,集合

      <set>中有个batch-szie 属性

 

三,批量抓取、批量更新 (需要数据库支持,如果数据库不支持,设置了也没用)

        批量抓取 (Jdbc fetch size):

               hibernate.jdbc.fetch_size (建议50)

        批量更新Jdbc batch size):

               hibernate.jdbc.batch_size (建议30)

你可能感兴趣的:(Hibernate,jdbc)