码迷,mamicode.com
首页 > Web开发 > 详细

hibernate查询方式(四)

时间:2018-01-06 22:06:41      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:student   链接   返回   查询方式   sel   mysq   联合查询   联合   sql语句   

---恢复内容开始---

1.mysql中的多表联合查询

  ****/*内连接查询*/  只显示两个表有关联的记录

//第一种
SELECT * FROM Class  c ,Student s WHERE  c.id=s.id;

//第二种
SELECT * FROM Class  c INNER JOIN Student s ON  c.id=s.id;

 

 ****/*左外链接*/   显示左边那个表的所有记录和右边表的关联记录

SELECT * FROM Class  c LEFT INNER JOIN Student s ON  c.id=s.id;

 

****/*右外链接*/   显示右边那个表的所有记录和左边表的关联记录

SELECT * FROM Class  c RIGHT INNER JOIN Student s ON  c.id=s.id;

 

hql多表联合查询

   ****hql内连接语句

//1.hql查询操作会使用Query对象
//  (1)写sql语句 创建Query对象,
    String hql = "from Student c inner join c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
   Query query = session.createQuery("hql");

//(2)调用方法得到结果 返回的是数组
List list = query.list();

 

   ****hql迫切内连接

//1.hql查询操作会使用Query对象
//  (1)写sql语句 创建Query对象,
    String hql = "from Student c inner join fetch c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
   Query query = session.createQuery("hql");

//(2)调用方法得到结果 返回的是对象
List list = query.list();

 

    ****hql左外连接

//1.hql查询操作会使用Query对象
//  (1)写sql语句 创建Query对象,
    String hql = "from Student c left outer join c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
   Query query = session.createQuery("hql");

//(2)调用方法得到结果 返回的是数组
List list = query.list();

 

   ****hql迫切左外连接

//1.hql查询操作会使用Query对象
//  (1)写sql语句 创建Query对象,
    String hql = "from Student c left outer join fetch c.setStudent";    //from后面是实体类名 c.学生类在班级类的属性名
   Query query = session.createQuery("hql");

//(2)调用方法得到结果 返回的是对象
List list = query.list();

右外连接合左外链接一样 但是没有迫切右外连接

 

hibernate查询方式(四)

标签:student   链接   返回   查询方式   sel   mysq   联合查询   联合   sql语句   

原文地址:https://www.cnblogs.com/alex96/p/8215304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!