Hibernate抓取策略

多方抓取一方
注解配置方式
@ManyToOne(fetch=FetchType.LAZY)
LAZY 懒加载,两条sql实现
EAGER 积极加载,一条sql左外连子表
@JoinColumn(name="外键属性名")


XML配置方式
<many-to-one name="" column="" fetch="select/join" />
select 默认方式,懒加载,使用到的时候再发送SQL
join 使用外链接方方式,积极加载。


---------------------------------------------------------------
一方抓取多方
注解配置方式
@OneToMany(cascade={CascadeType.ALL], fetch=FetchType.LAZY)
LAZY 懒加载,多条sql实现
EAGER 积极加载,一条sql左外连子表
@JoinColumn(name="外键属性名")


XML配置方式
<set name="属性名" inverse="true" cascade="all" fetch="select/join/subselect">
  <key column="数据库外键字段名"></key>
  <one-to-many class="包..子表类" />
</set>
select 默认方恨死,懒加载,使用的室友再发送SQL
join 使用外连接方式,积极加载。
subselect 用子查询一次性把所有子表关联的SQL都查询出来仅针对HQL语句起作用


------------------------------------------------------------------
batch-size
批量加载实体类,sql中使用in(...)查询


注解配置方式
类名上添加注解@BatchSize(size=?)


XML配置方式
<class name="类名" table="表名" batch-size="?">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值