`
xxwinnie
  • 浏览: 111308 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

Hibernate 多对多映射关系实体 Hql查询

阅读更多
项目里用到了Hibernate,我有个需求,要查一个实体,有两个条件,其中一个条件是与这个实体相关联的另外一个实体的某个值~
也就是说在数据库里是三张表,两个表通过一个中间表连接起来,但在Hibernate里配成了两个多对多映射关系的实体。

实体类: User.java    Role.java

数据库表:t_user  t_user_role   t_role


平时我们一般的做法是先根据一个条件,查出一个实体的List(或Set),再遍历其中的另外一个实体List/Set,用另一个条件筛选~ 但今天想着这样做麻烦~ 况且写原生SQL都能一条语句搞定,凭什么Hibernate还得这么麻烦呢~ 问了N人~ 无解~ 最后在网上找到答案:
elements

就这么一个神奇的单词就搞定了~ 呵呵~
select distinc u from User u, u.roleList.elements r where r.inspector = '' and u.orgId = ''


给出找到答案的网址:
http://www.cnblogs.com/lyj/archive/2008/10/27/1320764.html
分享到:
评论
2 楼 zihanhua 2013-05-15  
Gabriel83 写道
楼主有没有遇到过HibernateQueryException: sm.menuRole.elements is not mapped类似这样的一个异常啊?用这个elements的时候报这个异常了,好像是没映射什么,但是我没找见

遇到同样的情况,请问怎么解决
1 楼 Gabriel83 2013-04-11  
楼主有没有遇到过HibernateQueryException: sm.menuRole.elements is not mapped类似这样的一个异常啊?用这个elements的时候报这个异常了,好像是没映射什么,但是我没找见

相关推荐

    hibernate 映射关系学习入门 多对多实体映射

    本教程将带你入门Hibernate的多对多实体映射,帮助你理解如何通过源码来实现这种复杂的关系映射。 一、Hibernate概述 Hibernate是一个对象关系映射(ORM)框架,它允许我们将Java对象(实体)与数据库表进行映射,...

    Hibernate-HQL语句多对多写法

    但是,在使用 Hibernate 时,我们经常会遇到多对多关系的问题,例如在菜单(Menu)和权限(Privilege)之间的多对多关系。在这种情况下,我们需要使用 Hibernate 的 HQL 语言来编写查询语句,以便检索和操作数据。 ...

    hibernateHQL关联查询

    在实际开发中,HQL关联查询的应用场景非常广泛,特别是在需要跨多个实体进行数据检索的情况下。例如,在电子商务系统中,我们需要获取用户信息及其相关的订单信息时,就可以利用HQL关联查询来简化这一过程。此外,当...

    Hibernate连表查询 Hibernate连表查询

    通过对HBM映射文件的理解、DAO层的连表查询实现以及查询结果的处理等几个方面进行了详细解释。在实际项目中,合理运用这些技巧可以极大地提高开发效率和代码质量。需要注意的是,在编写连表查询时要充分考虑性能问题...

    hibernate(多对多关系映射)

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关系映射是一种常见的数据库交互模式,它用于表示两个实体之间复杂的关系。在这个场景中,一个实体可以与多个其他实体相关联,反之亦然。例如,在学生和课程...

    hibernate多对多查询

    总之,Hibernate的多对多查询涉及实体类的定义、中间表的映射以及查询语句的编写。理解和熟练运用这些概念对于开发复杂的Java应用程序至关重要。在实际项目中,应根据业务需求灵活调整关联策略,确保数据的一致性和...

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

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

    Hibernate注解方式、HQL查询

    3. **关系映射注解**:Hibernate支持一对多、一对一、多对多等各种关系映射。例如,使用`@OneToMany`、`@ManyToOne`、`@OneToOne`、`@ManyToMany`等注解来定义关联关系。例如,一对多关系: ```java @OneToMany...

    HQL多对多的查询语句分析

    标题"**HQL多对多的查询语句分析**"主要关注的是如何在Hibernate中使用HQL处理数据库中的多对多关联关系查询。在数据库设计中,多对多关系是最复杂的关联类型,它意味着一个实体可以与多个其他实体相关联,反之亦然...

    hibernate(一对多,多对一映射)操作

    本文将深入探讨Hibernate中的一对多和多对一映射关系,并通过一个实际的demo演示它们在增删查改操作中的应用。 首先,我们要理解什么是数据库的关联关系。在数据库设计中,我们经常遇到一种情况,即一个实体可能与...

    HQL是hibernate自己的一套查询

    根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...

    hibernate双向多对多关联映射(注解版)

    在这个“hibernate双向多对多关联映射(注解版)”的主题中,我们将深入探讨如何使用Hibernate的注解配置来处理数据库中的双向多对多关联关系。 首先,多对多关联在数据库设计中是指两个实体之间存在多个对应关系,...

    hibernate关系映射多对多关系

    本资料包主要关注的是Hibernate中的关系映射,特别是多对多(ManyToMany)关系,这对于理解和实现复杂的数据库模型至关重要。在Spring+Hibernate+Struts框架下,这种映射关系的应用更是常见。 首先,我们需要了解在...

    Hibernate教程(数据查询)HQL,PDF格式

    Hibernate是一款强大的对象关系映射(ORM)框架,它能够将Java对象与数据库表进行映射,极大地简化了数据库操作的复杂度。在数据查询方面,Hibernate提供了多种查询方式,其中HQL(Hibernate Query Language)是一种...

    hibernate的HQL的模糊查询

    在Java的持久化框架Hibernate中,HQL(Hibernate Query Language)是专为ORM(对象关系映射)设计的一种SQL方言,用于对数据库进行操作。HQL模糊查询是开发者在进行数据检索时常用的一种功能,它允许我们根据部分...

    hibernate多表联合查询

    ### Hibernate多表联合查询详解 #### 一、引言 在实际项目开发中,我们经常需要处理复杂的数据库查询,特别是涉及到多个表之间的关联查询。...希望本文能对你理解Hibernate的多表联合查询有所帮助。

    hibernate查询语句--HQL

    Hibernate 是一个开源的对象关系映射 (ORM) 框架,它允许开发人员将 Java 对象映射到数据库表中的记录,从而简化了数据访问逻辑。在 Hibernate 中,执行查询操作的主要方式之一是使用 Hibernate 查询语言(HQL)。 ...

    hibernate 多对多源代码

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关系是数据库中常见的关联类型,它允许一个实体实例对应多个其他实体实例,反之亦然。本篇将深入探讨Hibernate如何处理这种复杂的数据关联。 一、多对多关系...

    Hibernate-HQL-查询-Query资料

    - **关联查询**:处理一对多、一对一、多对多等关联关系的查询。 4. **条件查询** - 使用WHERE子句指定查询条件,支持比较操作符(=、<、>、、>=、!=)、逻辑操作符(AND、OR、NOT)以及IN、BETWEEN、LIKE等。 5...

Global site tag (gtag.js) - Google Analytics