Hibernate四种抓取策略
- 连 接抓取(Join fetching) - Hibernate通过 在
SELECT
语句使用OUTER JOIN
(外连接)来 获得对象的关联实例或者关联集合.
- 查 询抓取(Select fetching) - 另外发送一条
SELECT
语句抓取当前对象的关联实
体或集合。除非你显式的指定lazy="false"
禁止 延迟抓取(lazy fetching),否
则只有当你真正访问关联关系的时候,才会执行第二条select语句.
- 子查询抓取(Subselect fetching) - 另外发送一条
SELECT
语句抓取在前面查询到
(或者抓取到)的所有实体对象的关联集合。除非你显式的指定lazy="false"
禁止延迟
抓取(lazy fetching),否则只有当你真正访问关联关系的时候,才会执行第二条
select 语句
- 批量抓取(Batch fetching) - 对查询抓取的优化方案, 通过指定一个主键或外键
列表,Hibernate使用单条SELECT
语句获 取一批对象实例或集合
Hibernate抓取只能用在one-to-one中!