多方抓取一方
注解配置方式
@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="?">
注解配置方式
@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="?">