分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

hibernate框架学习之多表查询helloworld

发布时间:2023-09-06 02:05责任编辑:沈小雨关键词:暂无标签
package cn.itcast.h3.hql;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import cn.itcast.h3.hql.vo.StudentModel;import cn.itcast.h3.hql.vo.TeacherModel;import cn.itcast.h3.util.HibernateUtil;//多表查询public class MulHQLApp { ???//内连接 ???void testMulInner(){ ???????Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("from TeacherModel tm inner join tm.students s"); ???????List<Object[]> queryList ?= q.list(); ???????System.out.println(queryList.size()); ???????for(Object[] objs:queryList){ ???????????for(Object obj:objs){ ???????????????System.out.print(obj+"\t"); ???????????} ???????????System.out.println(); ???????} ???????s.close(); ???} ???//迫切内连接 ???void testMulInner2(){ ???????Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("select DISTINCT ?tm from TeacherModel tm inner join fetch tm.students s"); ???????List<Object> queryList ?= q.list(); ???????System.out.println(queryList.size()); ???????for(Object obj:queryList){ ???????????System.out.println(obj); ???????} ???????s.close(); ???} ???//隐式内连接 ???void testMulInner3(){ ???????Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("from TeacherModel"); ???????List<Object> queryList ?= q.list(); ???????System.out.println(queryList.size()); ???????for(Object obj:queryList){ ???????????System.out.println(obj); ???????} ???????s.close(); ???} ???//左外连接 ???void testMulOuter1(){ ???????Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("from TeacherModel tm left outer join tm.students s"); ???????List<Object[]> queryList ?= q.list(); ???????System.out.println(queryList.size()); ???????for(Object[] objs:queryList){ ???????????for(Object obj:objs){ ???????????????System.out.print(obj+"\t"); ???????????} ???????????System.out.println(); ???????} ???????s.close(); ???} ???//迫切左外连接 ???void testMulOuter2(){ ???????Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("from TeacherModel tm left outer join fetch tm.students s"); ???????List<Object> queryList ?= q.list(); ???????System.out.println(queryList.size()); ???????for(Object obj:queryList){ ???????????System.out.println(obj); ???????} ???????s.close(); ???} ???//右外连接 ???void testMulOuter3(){ ???????Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("from TeacherModel tm right outer join tm.students s"); ???????List<Object[]> queryList ?= q.list(); ???????for(Object[] objs:queryList){ ???????????for(Object obj:objs){ ???????????????System.out.print(obj+"\t"); ???????????} ???????????System.out.println(); ???????} ???????s.close(); ???} ???void fn(){ ???????Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("from TeacherModel"); ???????List<TeacherModel> queryList ?= q.list();// ???????System.out.println(((TeacherModel)queryList.get(0)[0]).getStudents());// ???????System.out.println(((StudentModel)queryList.get(0)[1]).getTeacher()); ???????System.out.println(queryList.get(0).getStudents()); ???????s.close(); ???} ???void fn1(){Session s = HibernateUtil.getSession(); ???????????????Query q = s.createQuery("from TeacherModel tm right outer join tm.students s"); ???????List<Object[]> queryList ?= q.list(); ???????System.out.println(((TeacherModel)queryList.get(35)[0]).getStudents());// ???????System.out.println(((StudentModel)queryList.get(0)[1]).getTeacher());// ???????System.out.println(queryList.get(30).getStudents().size()); ???????????????s.close(); ???} ???public static void main(String[] args) { ???????new MulHQLApp().fn1(); ???}}/*List<Object> queryList ?= q.list();for(Object obj:queryList){ ???System.out.println(obj);}List<Object[]> queryList ?= q.list(); ???????for(Object[] objs:queryList){ ???????????for(Object obj:objs){ ???????????????System.out.print(obj+"\t"); ???????????} ???????????System.out.println(); ???????}*/

hibernate框架学习之多表查询helloworld

原文地址:https://www.cnblogs.com/xyhero/p/9351721.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved