package cn.itcast.h3.query.hql;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session; import cn.itcast.h3.query.hql.vo.TeacherModel;
import cn.itcast.util.HibernateUtil; public class MainRelaApp {
//fetch="select" lazy="false"
void selectFalse(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents().size());
System.out.println(queryList.get(0).getStudents()); s.close();
}
//fetch="select" lazy="true"
void selectTrue(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents());
System.out.println(queryList.get(0).getStudents().size()); s.close();
}
//fetch="select" lazy="extra"
void selectExtra(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents());
System.out.println(queryList.get(0).getStudents().size()); s.close();
}
//fetch="subselect" lazy="false"
void subselectFlase(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents());
System.out.println(queryList.get(0).getStudents().size()); s.close();
}
//fetch="subselect" lazy="true"
void subselectTrue(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
// System.out.println(queryList.get(0).getStudents().size());
System.out.println(queryList.get(0).getStudents()); s.close();
}
//fetch="subselect" lazy="extra"
void subselectExtra(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents().size());
System.out.println(queryList.get(0).getStudents()); s.close();
}
//fetch="subselect" lazy="extra" Query-》OID load get
void subselectExtra2(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel where uuid = 1"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents().size());
System.out.println(queryList.get(0).getStudents()); s.close();
}
//fetch="join" lazy="false"
void joinFalse(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents().size());
System.out.println(queryList.get(0).getStudents()); s.close();
}
//fetch="join" lazy="true"
void joinTrue(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents().size());
System.out.println(queryList.get(0).getStudents()); s.close();
}
//fetch="join" lazy="extra"
void joinExtra(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
System.out.println(queryList.get(0).getStudents().size());
System.out.println(queryList.get(0).getStudents()); s.close();
}
//fetch="join" lazy="extra" get OID
void joinExtra2(){
Session s = HibernateUtil.getSession(); TeacherModel tm = (TeacherModel) s.get(TeacherModel.class, 2L);
System.out.println(tm.getStudents().size());
System.out.println(tm.getStudents());
s.close();
}
//批量抓取策略
void batchQuery(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from TeacherModel"); List<TeacherModel> queryList = q.list();
// System.out.println(queryList.get(0).getStudents().size());
// System.out.println(queryList.get(0).getStudents()); s.close();
}
public static void main(String[] args) {
new MainRelaApp().batchQuery();
}
}
package cn.itcast.h3.query.hql;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session; import cn.itcast.h3.query.hql.vo.StudentModel;
import cn.itcast.util.HibernateUtil; //从关联数据检索策略
public class SubRelaApp {
//fetch="select" lazy="false"
void selectFlase(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from StudentModel"); List<StudentModel> queryList = q.list();
System.out.println(queryList.get(0).getTeacher()); s.close();
}
//fetch="select" lazy="proxy"
void selectProxy(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from StudentModel"); List<StudentModel> queryList = q.list();
// System.out.println(queryList.get(0).getTeacher());
// System.out.println(queryList.get(11).getTeacher());
// System.out.println(queryList.get(21).getTeacher()); s.close();
}
//fetch="join" lazy="false"
void joinFalse(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from StudentModel"); List<StudentModel> queryList = q.list();
System.out.println(queryList.get(0).getTeacher());
System.out.println(queryList.get(11).getTeacher());
System.out.println(queryList.get(21).getTeacher()); s.close();
}
//fetch="join" lazy="proxy"
void joinProxy(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from StudentModel"); List<StudentModel> queryList = q.list();
System.out.println(queryList.get(0).getTeacher());
System.out.println(queryList.get(11).getTeacher());
System.out.println(queryList.get(21).getTeacher()); s.close();
}
//fetch="join" lazy="proxy" 使用OID查询
void joinProxy2(){
Session s = HibernateUtil.getSession(); StudentModel sm = (StudentModel) s.get(StudentModel.class, 4L);
System.out.println(sm.getTeacher()); s.close();
} //批量加载
void batchQuery(){
Session s = HibernateUtil.getSession(); Query q = s.createQuery("from StudentModel"); List<StudentModel> queryList = q.list();
// System.out.println(queryList.get(0).getTeacher());
// System.out.println(queryList.get(11).getTeacher());
// System.out.println(queryList.get(21).getTeacher()); s.close();
}
public static void main(String[] args) {
new SubRelaApp().batchQuery();
}
}

TeacherModel.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
'-//Hibernate/Hibernate Mapping DTD 3.0//EN'
'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'>
<hibernate-mapping>
<class name="cn.itcast.h3.query.hql.vo.TeacherModel" table="tbl_teacher" lazy="false">
<id name="uuid" column="uuid">
<generator class="native" />
</id> <property name="teacherName"/>
<property name="nick"/> <set
fetch="select"
lazy="false"

batch-size="5"
name="students"
>
<key column="teacherUuid"/>
<one-to-many class="cn.itcast.h3.query.hql.vo.StudentModel"/>
</set>
</class>
</hibernate-mapping>

最新文章

  1. 免费公开课,讲解强大的文档集成组件Aspose,现在可报名
  2. 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心
  3. mysql 内连接、左连接、右连接
  4. Netron开发快速上手(一):GraphControl,Shape,Connector和Connection
  5. Backbone.js学习之初识hello-world
  6. bootstrap sr-only
  7. 浙江大学PAT考试1009~1012(1010上帝是冠军。。)
  8. NET开发面向对象2
  9. 【Android】再来一篇Fragment懒加载(只加载一次哦)
  10. 用SQL表达连接与外连接
  11. linux 工具
  12. 解决插值表达式闪烁问题 - v-cloak
  13. C++虚表详解
  14. Win10系列:JavaScript写入和读取文件
  15. JAVA开发人员画图表总结(ECHARTS)
  16. 【Unity】4.3 地形编辑器
  17. 玩转TypeScript(引言&amp;文章目录) --初看TypeScript.
  18. Android之从TCP/IP、HTTP看Socket通信
  19. day91 DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件
  20. Node.js modules you should know about: request

热门文章

  1. @jsonProperty 实现返回自定义属性名字
  2. 【leetcode-102,107,103】 二叉树的层次遍历
  3. extern &quot;C&quot; 含义
  4. VS Code +node npm 调试 js
  5. ArcGis Python脚本——要素图斑自动编号,自上而下,从左到右
  6. MySQL忘记root密码的解决办法
  7. Django眼中的MVC
  8. Spring Boot 2程序不能加载 com.mysql.jdbc.Driver 问题
  9. spring注解第05课 FactoryBean
  10. Tippy.js – 轻量的 Javascript Tooltip 工具库