hibernate查询方式

Posted 咯咯咯咯哒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate查询方式相关的知识,希望对你有一定的参考价值。

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

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查询方式的主要内容,如果未能解决你的问题,请参考以下文章

hibernate查询-基本查询

hibernate怎么用查询

Hibernate 查询方式

具有运行时 pojos 的带有 Hibernate 的 OSGi 片段包

Hibernate的查询的方式

Hibernate 查询方式JPA查询方式