`
kakarot_java
  • 浏览: 165301 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hql left join

阅读更多
在使用交叉表的时候,对动态字段进行排序,用 sql 是 left join 值表 以排序的值类型为过滤条件,然后对值列排序,  hql 也是left join ,不用on,hibernate会自动加上,你如果需要添加其他的条件,可以用with,另外 hql 可以对 one-to-many 的属性(如Set) 直接当做条件来过滤 例如
学生表 对应 Student 类
Student{
   Integer id;
   Set scores; // 所有该学生下的成绩集合
}
成绩表 对应 Score 类
Score{
    Integer id;
    Integer value; // 成绩的值
    Student student; // 该成绩属于哪个学生
}
当需要查询学生,又需要对学生的某科成绩进行排序的话可以这样
select stu from Student as stu
     left join stu.scores as sc
     with sc.id=1
     where ....
     order by sc.value
分享到:
评论

相关推荐

    Hive查询sql left join exists

    LEFT JOIN hql_jointest_b b ON a.id = b.id; ``` 此查询将返回所有CS-1班的学生及其对应的考试成绩,如果没有成绩,`b.id`和`b.score`将显示为NULL。 LEFT SEMI JOIN(左半连接)则只返回左表中的记录,如果这些...

    HQL的几钟常见写法

    这里使用了左连接(`left join`),意味着即使没有对应的`designCommissionActivity`记录也会返回`DesignActivity`的所有记录,并且`originator`字段可能会出现`null`值。 #### 4. 多表关联查询 **示例:** ```hql ...

    hql语句经典教程

    连接类型参照ANSI SQL,包括`inner join`、`left outer join`、`right outer join`和`full join`。简写形式如`join`和`left join`也是允许的。 ### 4. `with`关键字 `with`关键字允许你在连接时添加额外条件,例如...

    HQL查询语言基础知识

    HQL 中的 JOIN 语句用于关联多个表,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN。 * INNER JOIN:select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name as name2 ...

    HQL查询语言基础.

    RIGHT JOIN(或RIGHT OUTER JOIN)与LEFT JOIN相反,返回右表(Department)的所有记录,即使左表(Employee)中没有匹配的记录。对于左表中没有匹配的记录,结果将填充NULL值,例如: ```sql select employee.ID as...

    hibernateHQL关联查询

    String hql = "SELECT s.stuName, e.examScore FROM Student s LEFT JOIN Exam e ON s.stuID = e.stuID"; ``` 3. **右外连接(Right Outer Join)**:`RIGHT JOIN` ```java String hql = "SELECT s.stuName, e....

    Hibernate之HQL查询

    HQL支持内连接(INNER JOIN)、左连接(LEFT JOIN)等,可以方便地处理关联关系。例如: ```sql SELECT s, c FROM Student s LEFT JOIN s.courses c ``` 这个查询将返回每个学生及其所有关联的课程。 **6. HQL的聚合...

    HQL详解

    其中,`INNER JOIN`、`LEFT OUTER JOIN`和`RIGHT OUTER JOIN`可以简化为: ``` FROM Cat AS cat JOIN cat.mate AS mate LEFT JOIN cat.kittens AS kitten ``` 此外,`FETCH`连接允许在一个选择语句中同时初始化父...

    HQL语言教程[归类].pdf

    HQL支持多种类型的连接,包括内连接(`inner join`)、左外连接(`left outer join`)、右外连接(`right outer join`)和全连接(`full join`)。简写形式如`join`和`left join`也得到广泛应用。例如,`from Cat as cat ...

    hql语句大全hql语句大全

    这表示,将`Cat`实体与`mate`和`kittens`关联的实体进行连接,其中`INNER JOIN`确保只有当关联实体存在时才返回`Cat`实体,而`LEFT OUTER JOIN`则保证即使没有关联实体,`Cat`实体也会被返回。 ##### 4. FETCH子句 ...

    Hibernate-HQL语句多对多写法

    2. 在多对多关系的情况下,需要使用 left join 或 inner join 来连接实体类。 3. 使用 where 子句可以过滤出特定的数据。 4. 在 HQL 语句中,使用 join 子句可以连接多个实体类。 5. 在多对多关系的情况下,需要使用...

    Hibernate_HQL大全

    4. **JOIN与ASSOCIATION**:HQL支持INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN和FULL JOIN四种连接类型。通过JOIN关键字,HQL能够处理实体间的关联,从而实现对关联实体的查询。例如,“JOIN cat.mate as mate...

    HQL Hibernate查询语言

    语句 inner join、left outer join 以及 right outer join 可以简写。例如:from Cat as cat join cat.mate as mate left join cat.kittens as kitten。 此外,还有一个"fetch"连接允许仅仅使用一个选择语句就将相...

    HQL多表查询

    2. **编写HQL查询语句**:使用`join`或`left join`关键字进行多表查询,指定关联条件和返回字段。 3. **执行查询**:通过Hibernate Session的`createQuery`方法执行HQL查询,获取结果集。 通过以上步骤,开发人员...

    hibernate hql大全

    HQL支持内连接(`JOIN`)、外连接(`LEFT JOIN`、`RIGHT JOIN`、`FULL JOIN`)。比如,查询员工及其关联的部门: ```java from Employee e left join e.department d ``` 这会返回每个员工与其所在部门的信息。 ##...

    HQL连接查询和注解使用总结

    - 示例:`SELECT e FROM Employee e LEFT OUTER JOIN Department d ON e.departmentId = d.id` - **迫切左外连接(Eager Left Outer Join)** - 语法:`left[outer]join fetch` - 描述:左外连接的迫切形式,...

    常用的hql语句用法解析

    还有左外连接(`left outer join`)、右外连接(`right outer join`)和全连接(`full join`),但全连接在HQL中并不常用。简写形式如`join`和`left join`可用于内连接和左外连接。`fetch`连接允许在查询中初始化相...

    Hibernate查询语言(HQL)

    - **隐式 JOIN**:在 HQL 中,通过属性引用的方式进行 JOIN 称为隐式 JOIN。 ```sql FROM com.example.Cat AS cat WHERE cat.mate.name LIKE '%s%'; ``` 隐式 JOIN 实际上相当于 SQL 中的 INNER JOIN。 ####...

    HQL语句大全

    - 示例:`from Cat as cat join cat.mate as mate left join cat.kittens as kitten`。 - **fetch连接**:用于在一次查询中同时初始化相关联的对象或集合。 - 示例:`from Cat as cat join fetch cat.mate left ...

    hql基础语句

    - ** 扩展查询 **:如`left outer join`、`right outer join`等,实现不同类型的连接。 ### 示例 假设我们有一个`Student`实体和`Course`实体,`Student`有一个`courses`属性,表示选修的课程。要查询选修特定课程...

Global site tag (gtag.js) - Google Analytics