zoukankan      html  css  js  c++  java
  • 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();

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

  • 相关阅读:
    CSS3实现的超酷页面过渡效果
    HTML5基本知识小测验
    多线程揭秘
    【框架设计】泛型的应用
    sql server 2005中的except和INTERSECT运算 .
    C#应用MemoryStream提高File读取速度
    .net错误处理机制
    sql 权限导致的问题
    超时时间已到。在操作完成之前超时时间已过或服务器未响应
    SQL差集的使用(EXCEPT)
  • 原文地址:https://www.cnblogs.com/alex96/p/8215304.html
Copyright © 2011-2022 走看看