Hibernate Part5
来源:互联网 发布:js循环输出表格 编辑:程序博客网 时间:2024/06/05 03:49
原作者:尚硅谷-佟刚
一对多一端:
List<Customer> customers=session.createQuery("FROM Customer").list(); System.out.println(customers.size()); for(Customer customer:customers){ System.out.println(customer.getOrders().size()); }
fetch :select:lazy,batch-size 都有效
fetch:select 默认 。subselect 以子查询的方式加载所有的set集合 batch-size属性失效,lazy属性有效
对于以上代码
fetch:join 无效 和取值 select 效果一样
Customer customer=(Customer) session.get(Customer.class, 1); System.out.println(customer.getCustomerName()); System.out.println(customer.getOrders());
join:在加载1的一端对象时,使用迫切左外连接(使用左外连接进行查询,且把集合属性进行初始化)的方式检索n的一端的集合属性
忽略lazy属性,batch-size属性
HQL查询忽略fetch=join的取值
fetch:select lazy=”true”
SQL语句如下:
Hibernate: select customer0_.CUSTOMER_ID as CUSTOMER1_0_0_, customer0_.CUSTOMER_NAME as CUSTOMER2_0_0_ from CUSTOMERS customer0_ where customer0_.CUSTOMER_ID=?C-AAHibernate: select orders0_.CUSTOMER_ID as CUSTOMER3_0_1_, orders0_.ORDER_ID as ORDER_ID1_1_1_, orders0_.ORDER_ID as ORDER_ID1_1_0_, orders0_.ORDER_NAME as ORDER_NA2_1_0_, orders0_.CUSTOMER_ID as CUSTOMER3_1_0_ from ORDERS orders0_ where orders0_.CUSTOMER_ID=? order by orders0_.ORDER_NAME desc[com.atguigu.hibernate.strategy.Order@21, com.atguigu.hibernate.strategy.Order@20]
多对一一端
List<Order> orders=session.createQuery("FROM Order o").list(); for(Order order:orders){ System.out.println(order.getCustomer()); System.out.println(order.getCustomer().getCustomerName()); }
fetch:select 时 lazy batch-size 属性值都有效
fetch:join 无效 和取值select效果相同
Order order=(Order) session.load(Order.class, 1);
System.out.println(order.getCustomer().getClass());
System.out.println(order.getCustomer().getCustomerName());
fetch:join lazy batch-size 属性值无效
fetch:select lazy=”true” SQL语句如下:
Hibernate: select order0_.ORDER_ID as ORDER_ID1_1_0_, order0_.ORDER_NAME as ORDER_NA2_1_0_, order0_.CUSTOMER_ID as CUSTOMER3_1_0_ from ORDERS order0_ where order0_.ORDER_ID=?class com.atguigu.hibernate.strategy.Customer_$$_javassist_1Hibernate: select customer0_.CUSTOMER_ID as CUSTOMER1_0_0_, customer0_.CUSTOMER_NAME as CUSTOMER2_0_0_ from CUSTOMERS customer0_ where customer0_.CUSTOMER_ID=?C-AA
阅读全文
0 0
- Hibernate Part5
- part5
- struts part5
- DesignPattern_AspNet_studynotes Part5
- Struts2 Part5
- Gentoo安装笔记(part5)
- SQL语句PART5
- Sift算法-----part5
- 脚本生成程序Part5
- Opencascade Notes part5
- 《网络工程师》 Part5 无线通信网
- Part5 实现 Implementations
- CommonJS规范 part5
- JavaSE 反射 Part5
- Unity-Unity编辑器Part5
- Machine Learning part5---可视化
- Common.LanguageManager 国际化 part5/part5 zh-CN/ Resources.xml
- TPL Part5 -- 循环和PLINQ
- 【译】scikit-learn入门简介
- H5图片浮动和Hover
- 友盟多渠道打包
- uva-1423Guess 拓扑排序
- Java——时间和日期处理
- Hibernate Part5
- Hadoop 传递参数的四种方式
- vim快捷键整理大全 .
- Mybatis的学习之路(一)
- android 右上角menu创建设置
- 频道管理封装5步实现
- HTML5 地理位置定位(HTML5 Geolocation)原理及应用
- linux 里 /etc/passwd 、/etc/shadow和/etc/group 文件内容解释
- css之px自动转rem