HQL中的内连接、左连接、右连接
来源:互联网 发布:php程序源码 编辑:程序博客网 时间:2024/05/21 08:46
内连接:把两面共有的部分查出来
左连接:把左边的部分全查出来
右连接:把右边的部分全查出来
/**
* inner join
*/
public void testquery1(){
Session session = null;
try{
session = HibernateUtils2.singleInstance.getSession();
session.beginTransaction();
//可以省略inner,因为只要写了join,默认就是inner内连接
//List lists = (List)session.createQuery("select c.name, s.name from Student s join s.classes c").list();
//写上的话,就是这个样子啦
List lists = (List)session.createQuery("select c.name, s.name from Student s inner join s.classes c").list();
for (Iterator iter = lists.iterator();iter.hasNext();) {
Object[] obj = (Object[])iter.next();
System.out.println(obj[0] + "," + obj[1]);
}
}catch(Exception e){
e.printStackTrace();
session.getTransaction().rollback();
}finally{
HibernateUtils2.singleInstance.closeSession(session);
}
}
/**
* left join
*/
public void testquery2(){
Session session = null;
try{
session = HibernateUtils2.singleInstance.getSession();
session.beginTransaction();
//把没有班级的学生也查出来,注意left join 后接的表有点特殊,是c.student即班级中的student属性,hibernate会依照这个属性帮我们找到相应的表
List lists = (List)session.createQuery("select c.name, s.name from Student s left join c.student s").list();
for (Iterator iter = lists.iterator();iter.hasNext();) {
Object[] obj = (Object[])iter.next();
System.out.println(obj[0] + "," + obj[1]);
}
}catch(Exception e){
e.printStackTrace();
session.getTransaction().rollback();
}finally{
HibernateUtils2.singleInstance.closeSession(session);
}
}
/**
* right join
*/
public void testquery2(){
Session session = null;
try{
session = HibernateUtils2.singleInstance.getSession();
session.beginTransaction();
//把没有学生的班级也查出来,注意right join 后接的也比较特殊,理由同上
List lists = (List)session.createQuery("select c.name, s.name from Student s right join c.student s").list();
for (Iterator iter = lists.iterator();iter.hasNext();) {
Object[] obj = (Object[])iter.next();
System.out.println(obj[0] + "," + obj[1]);
}
}catch(Exception e){
e.printStackTrace();
session.getTransaction().rollback();
}finally{
HibernateUtils2.singleInstance.closeSession(session);
}
}
- HQL中的内连接、左连接、右连接
- HQL中左连接,右连接,内连接
- HQL中左连接,右连接,内连接
- HQL中左连接,右连接,内连接
- HQL中左连接,右连接,内连接
- HQL中左连接,右连接,内连接
- sql中的左连接,右连接,内连接详解
- 左连接、右连接、内连接
- 左连接、右连接、内连接
- 左连接、右连接和内连接
- 左连接、右连接和内连接
- 内连接、左连接、右连接
- 内连接、左连接、右连接
- 左连接,右连接,内连接讲解
- 左连接、右连接、内连接、索引
- 内连接 左连接 右连接
- sql 内连接,左连接,右连接
- MySQL左连接、右连接、内连接
- ubuntu 安装报错unable to find medium
- 装饰模式
- 2G-3G-4G网络结构演进过程
- 理解虚基类、虚函数与纯虚函数的概念
- 怎样远程登录局域网内其他计算机
- HQL中的内连接、左连接、右连接
- linux 0.11 任务调度schedule
- settimeout 作用域问题
- 摩托车继承自行车和机动车
- epoll处理
- 【双进程动规问题】NYOJ 61传纸条
- 数组中只出现1次的两个数字
- linux设备文件和普通文件
- 第十二周项目4-日期时间类