`
zybing
  • 浏览: 458011 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate的hql:多表连接查询

阅读更多

 

好长时间不用自己写了,今天写了有点忘了:

 

情况: 表A ,表B, 是基表

表c:关联表,除了A、B的主键外,还有一些其他属性:

 

对应的类为CA,CB、CC

 

原来的类CC用了联合主键,composite-id:CAB

 

======================================================

现在要根据表A的主键,查出所有相关联的B记录

 

Select c

From CC c

inner join c.cab.ca

inner join c.cab.cb

where c.cab.ca.id = ?

 

原来写成了

 

Select c

From CC c

inner join CA

inner join CB

where c.cab.ca.id = ?

 

这样写,没有把CA、CB和CC的关系明确,造成关联关系不清,无法生成SQL语句,不知道如何join

 

通过CC一路到CA、CB,这样把他们之间的关系就表示清楚了,生成的SQL语句就没有问题了


 

分享到:
评论

相关推荐

    day36 04-Hibernate检索方式:多表连接查询

    标题中的“day36 04-Hibernate检索方式:多表连接查询”表明这是一个关于Hibernate框架的教程,重点讲解如何在Hibernate中进行多表连接查询。在这个主题中,我们将深入探讨Hibernate的ORM(对象关系映射)机制以及...

    Hibernate 多表连接分页查询示范项目

    Hibernate 支持多种方式来实现多表连接查询,包括 HQL(Hibernate Query Language)和 Criteria 查询。本项目主要关注 Criteria API 的使用,这是一种基于 Java 对象的查询方式,更加灵活且易于理解和维护。 **...

    hibernateHQL关联查询

    在理解Hibernate HQL关联查询之前,我们需要先回顾一下数据库表连接的基本概念及其分类。数据库表连接主要分为以下几种: 1. **内连接(Inner Join)**:只返回两个表中满足连接条件的记录。如果某条记录在另一个表...

    Hibernate hql查询语法总结

    本文将对Hibernate HQL查询语法进行总结,涵盖基础查询、属性查询、实例化查询以及查询链接等多个方面。 1. 基础查询: 基础查询是最简单的HQL语句,用于获取所有`Student`对象。例如: ```java from Student ``` ...

    hibernate多表联合查询

    使用HQL进行多表联合查询是非常直观的,我们可以直接使用`FROM`子句来指定要查询的表,然后使用`JOIN`子句来连接不同的表。示例如下: ```java // 假设Customer和Charge实体类已定义好 Session session = ...

    hibernate02:session对象、hql查询、在线查询也叫对象查询、离线查询

    本话题主要聚焦于`Hibernate02`,涵盖`Session`对象、HQL(Hibernate Query Language)查询以及在线查询和离线查询的概念。 首先,我们来详细讨论`Session`对象。在Hibernate中,`Session`是应用程序与数据库之间的...

    hql多表查询

    HQL支持多种查询方式,包括单表查询、多表查询、连接查询等。其中,多表查询是处理复杂数据关系的关键技术,它允许开发者在一个查询语句中同时操作多个表,从而提高数据处理的效率和查询的灵活性。多表查询通常涉及...

    hibernate 查询?Hibernate的HQL查询

    【标题】:深入理解Hibernate的查询机制:HQL查询 【描述】:在ORM框架Hibernate中,数据查询和检索是一个核心功能,它提供了多种查询方式,包括标准化对象查询(Criteria Query)、Hibernate查询语言(HQL)和原生...

    Hibernate各种查询:联表查询 分页查询 位置参数查询(?) 占位符查询(冒号查询) 统计查询

    而`HQL`则更像SQL,可以通过`from`关键字指定多个表,并使用`join`进行连接。 接着,我们讨论**分页查询**。在大量数据的场景下,分页是必不可少的。在`Criteria`中,我们可以使用`setFirstResult()`设置起始行,`...

    hibernateHQL基本查询

    - **连接查询**:可以使用 `join` 关键字进行连接查询,以获取多个表中的数据。 #### 六、总结 HQL 提供了一种简洁高效的查询方式,不仅减少了代码量,还提高了代码的可读性和可维护性。通过上述示例,我们可以看到...

    Hibernate-HQL语句多对多写法

    Hibernate 的 HQL 语言提供了强大的查询功能,使得我们可以方便地检索和操作数据,特别是在多对多关系的情况下。 知识点: 1. Hibernate 的 HQL 语言可以用来编写查询语句,以便检索和操作数据。 2. 在多对多关系...

    Hibernate HQL.txt

    根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤以及聚合函数的应用等。 ### Hibernate HQL简介 Hibernate HQL是一种...

    HibernateHql综合测试小程序

    本程序“HibernateHql综合测试小程序”是针对Hibernate中的HQL(Hibernate Query Language)进行的一系列功能测试,涵盖了二十多种不同的HQL语句,旨在帮助开发者深入理解和熟练运用Hibernate的查询能力。...

    Hibernate HQL 结合 velocity

    HQL支持各种复杂的查询操作,如聚合函数、连接查询、子查询等。 **Velocity** 的核心概念是模板,开发者可以在模板中嵌入Java表达式,这些表达式会根据运行时的数据上下文进行计算。Velocity模板语言(VTL)简洁且...

    Hibernate HQL.doc

    HQL支持四种类型的连接:inner join(内连接)、left outer join(左外连接)、right outer join(右外连接)和full join(全连接)。简写形式如`join`和`left join`也是允许的。`fetch`连接用于一次性初始化相关联...

    Hibernate HQL查询.docx

    ### Hibernate HQL 查询详解 #### 一、HQL 概述 Hibernate 提供了一种非常强大的查询语言——HQL(Hibernate Query Language),它在...无论是简单的查询还是复杂的多表关联查询,HQL 都能提供简洁高效的解决方案。

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

    ### HQL连接查询和注解使用总结 ...以上总结了HQL连接查询的不同类型及其语法特点,以及如何在Hibernate中利用注解配置持久化类及其关联关系。这些知识对于理解和使用Hibernate进行高效数据库操作至关重要。

    hibernate_hql.rar_HQL

    HQL支持一对一、一对多、多对多等关联查询。如查询每个用户的订单信息: ```java String hql = "from User u join fetch u.orders"; ``` 这里的`join fetch`实现了左外连接,并将订单信息一同加载到内存中。 七、...

Global site tag (gtag.js) - Google Analytics