hiernate抓取策略与批量更新、批量取数据

 

hibernate抓去策略

所谓抓取策略是指:当应用程序需要在关联关系间进行导航的时候,Hibernate如何获取关联对象的策略。

*fetch="select"是默认设置,会直接发出select语句而不会使用外连接

*fetch="join"会使用外连接加载其关联实体集合

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

 

示例:

如果加载的是集合:

 

<set name="students" inverse="true" cascade="all" fetch="subselect">

<key column="classesid"/>

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

</set>

 

 

如果加载的是类:

 

<!-- 设置抓去策略为select ,也就是默认设置-->

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

 

<!-- 设置抓去策略为join ,Hibernate会使用外连接加载关联对象实体-->

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

 

 

 

hibernate批量抓取,在class上的应用:

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

 

hibernate批量抓取,在集合上的应用:

    <set name="students" inverse="true" cascade="all" batch-size="5">

 

<!-- 批量取数据 -->

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

<!-- 批量更新 -->

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

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(JOIN,Hibernate,table,Class)