Hibernate中outer-join与lazy关键字的使用
来源:互联网 发布:剑三捏脸数据成男杨洋 编辑:程序博客网 时间:2024/05/18 00:34
1、outer-join关键字(many-to-one的情况)
outer-join关键字有3个值,分别是true,false,auto,默认是auto。
true: 表示使用外连接抓取关联的内容,这里的意思是当使用load(OrderLineItem.class,“id“)时,Hibernate只生成一条SQL语句将OrderLineItem与他的父亲Order全部初始化。
select * from OrderLineItem o left join Order p on o.OrderId=p.OrderId where o.OrderLineItem_Id=?
false:表示不使用外连接抓取关联的内容,当load(OrderLineItem.class,“id“)时,Hibernate生成两条SQL语句,一条查询OrderLineItem表,另一条查询Order表。这样的好处是可以设置延迟加载,此处要将Order类设置为lazy=true。
select * from OrderLineItem o where o.OrderLineItem_Id=?
select * from Order p where p.OrderId=?
auto:具体是ture还是false看hibernate.cfg.xml中的配置
注意:如果使用HQL查询OrderLineItem,如 from OrderLineItem o where o.id='id',总是不使用外部抓取,及outer-join失效。
2、outer-join(集合)
由于集合可以设置lazy=“true“,所以lazy与outer-join不能同时为true,当lazy=“true“时,outer-join将一直是false,如果lazy=“false“,则outer-join用法与1同
3、HQL语句会将POJO配置文件中的关联一并查询,即使在HQL语句中没有明确join。
- Hibernate中outer-join与lazy关键字的使用
- Hibernate中outer-join与lazy关键字的使用
- Hibernate中outer-join与lazy关键字的使用
- Hibernate中outer-join与lazy关键字的使用
- Hibernate中outer-join与lazy关键字的使用- -
- Hibernate中outer-join与lazy关键字的使用
- Hibernate中outer-join与lazy关键字的使用
- Hibernate中outer-join、lazy 、fetch join关键字的使用
- Hibernate中outer-join、lazy 、fetch join关键字的使用
- Hibernate中outer-join、lazy 、fetch join关键字的使用
- Hibernate中outer-join、lazy 、fetch join关键字的使
- Hibernate中hbm.xml文件的inverse、cascade、fetch、outer-join、lazy
- Hibernate中的fetch, lazy, outer-join,inverse和cascade作用
- hibernate中lazy的使用
- Hibernate中lazy的使用
- hibernate中lazy的使用
- hibernate中lazy的使用
- hibernate中lazy的使用
- 操作DataGridView中的DataTable
- linux 下TFTP 配置
- 天学会Project 2007 当当网链接地址
- java泛型解析01
- 托管C++ 是非托管代码和托管代码之间的一个桥梁
- Hibernate中outer-join与lazy关键字的使用
- 交叉编译器
- 所谓伊人
- IE8中的原生JSON支持(转帖)
- Cruise1.1 即将发布
- 盘点2008开源大事
- 菜根谭(转载)
- 奔跑的动力
- 7天学会Project 2007 目录