zoukankan      html  css  js  c++  java
  • HQL链接查询

    和SQL查询一样,HQL也支持各种各样的连接查询,如内连接、外连接。我们知道在SQL中可通过join字句实现多表之间的连接查询。HQL同样提供了连接查询机制,还允许显示指定迫切内连接和迫切左外连接。HQL提供的连接方式如下表所示。

    //迫切内连接查询
    @Test
    public void test1() {
    Query query = session.createQuery("select distinct s from Pro s inner join fetch s.emps");
    List<Pro> list = query.list();
    for (Pro item : list
    ) {
    System.out.println(item.getProname());
    for (Emp itme1 : item.getEmps()
    ) {
    System.out.println(itme1.getEmpname());
    }
    }
    }
    //左外链接
    @Test
    public void test2() {
    Query query = session.createQuery("select distinct s from Pro s left outer join s.emps");
    List<Pro> list = query.list();
    for (Pro item : list
    ) {
    System.out.println(item.getProname());
    for (Emp itme1 : item.getEmps()
    ) {
    System.out.println(itme1.getEmpname());
    }
    }
    }
    //迫切左外链接
    @Test
    public void test3() {
    Query query = session.createQuery("select distinct s from Pro s left outer join fetch s.emps");
    List<Pro> list = query.list();
    for (Pro item : list
    ) {
    System.out.println(item.getProname());
    for (Emp itme1 : item.getEmps()
    ) {
    System.out.println(itme1.getEmpname());
    }
    }
    }
    //右链接
    @Test
    public void test4() {
    Query query = session.createQuery("select distinct s from Pro s right join s.emps");
    List<Pro> list = query.list();
    for (Pro item : list
    ) {
    System.out.println(item.getProname());
    for (Emp itme1 : item.getEmps()
    ) {
    System.out.println(itme1.getEmpname());
    }
    }
    }
  • 相关阅读:
    (七)mysql 记录长度
    (六)列类型
    (五)校对集
    (四)中文数据问题
    Spring Boot Jpa 的使用
    Spring Boot:如何优雅的使用 Mybatis
    Spring Boot:定时任务
    Spring Boot 小技巧
    【重磅】Spring Boot 2.0权威发布
    Spring Boot + Jpa + Thymeleaf 增删改查示例
  • 原文地址:https://www.cnblogs.com/wyd12138/p/6380100.html
Copyright © 2011-2022 走看看