`
狂奔的蜗牛zyx
  • 浏览: 19592 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用hibernate多对多关联关系的HQL查询语句

阅读更多
Daoimpl层 以角色和权限表为例
常见inner join
public List<Function> getRoleFunction(int rid) {
	return this.getHibernateTemplate().find("select f from Function as f inner join f.roles as r where r.roleid="+rid);
}


使用elements  网上找的,还不懂elements具体用法??
public List<Function> getRoleFunction(int rid) {
		return this.getHibernateTemplate().find("select elements(r.functions) from Role as r where r.roleid=2");
}



其中role.hbm.xml
 <set name="functions" table="tb_role_function" cascade="save-update" lazy="false">
		<key>
			<column name="role_id"></column>
		</key>
		<many-to-many class="Function" column="function_id"/>
		</set> 


function.hbm.xml
<set name="roles" table="tb_role_function" cascade="save-update" lazy="false">
		<key>
			<column name="function_id"></column>
		</key>
		<many-to-many class="Role" column="role_id"/>
		</set>
分享到:
评论

相关推荐

    hibernateHQL关联查询

    ### Hibernate HQL 关联查询详解 #### 一、引言 在进行数据库操作时,关联查询是必不可少的一部分,尤其在处理复杂的数据结构时更是如此。Hibernate作为一种流行的Java持久层框架,提供了强大的对象关系映射(ORM...

    Hibernate-HQL语句多对多写法

    "Hibernate-HQL语句多对多写法" Hibernate 是一个流行的 Java 持久层框架,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地与数据库交互。但是,在使用 Hibernate 时,我们经常会遇到多对多关系的...

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

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

    HQL多对多的查询语句分析

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

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...

    hibernate查询语句--HQL

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

    hibernate 查询?Hibernate的HQL查询

    3. **关联查询**:可以直接处理对象之间的关联关系,无需手动编写JOIN语句。 4. **减少冗余**:避免了在多个地方重复编写相同的SQL。 5. **移植性**:由于是面向对象的,HQL在不同的数据库之间有较好的兼容性。 ...

    Hibernate连表查询 Hibernate连表查询

    例如,在`getProductsMenuSub`方法中,通过以下HQL语句实现了连表查询: ```java String queryString = "select a.productsName from TopProducts as a, TopProductsDeputy as b where a.productsId = b.productsId ...

    hibernate的hql语句

    【hibernate的HQL语句】是Hibernate框架中用于操作数据库的重要组成部分,它是一种面向对象的查询语言,类似于SQL,但更加强调对象的概念。HQL能够处理复杂的对象关系,如继承、多态和关联,使得在进行SSH(Spring、...

    Hibernate ORM - 多对多双向连接表关联关系

    2. **定义关联关系**:使用注解`@ManyToMany`在类的属性上声明多对多关系。这个注解需要指定关联的实体类以及中间表的信息。例如: ```java @ManyToMany(mappedBy = "students") private List&lt;Course&gt; courses; ...

    Hibernate中HQL语句的使用[参考].pdf

    Hibernate中HQL语句的使用 ...HQL语句可以用于各种查询场景,包括简单属性查询、多个属性的查询、使用别名、实体对象查询、外置命名查询、查询过滤器、分页查询、对象导航查询、连接查询和统计查询等。

    hql多表查询

    多表查询通常涉及到表之间的关联关系,如一对一、一对多或许多对多关系。 ### HQL多表查询的语法结构 HQL多表查询的语法结构遵循以下基本模式: ``` SELECT , , ... FROM &lt;Class1&gt; c1 JOIN &lt;Class2&gt; c2 ON (c1....

    hibernate多对多查询

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

    Hibernate-HQL-查询-Query资料

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

    Hibernate之HQL查询

    FROM子句指定要查询的对象,可以是一个实体类,也可以是多对一、一对多、多对多关联的类。例如: ```sql SELECT c FROM Course c JOIN c.students AS s WHERE s.name = '张三' ``` 此查询将返回所有张三选修的课程...

    hibernate多表联合查询

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

    Hibernate-HQL.rar_HQL_hibernate hql

    HQL的灵活性在于它可以处理对象关系,例如一对一、一对多、多对多的关系。在SQL中,处理这些关系通常需要复杂的联接操作,而在HQL中则相对简单。此外,HQL支持动态查询,可以方便地处理集合类型的参数。 四、HQL的...

    HQL查询及语法

    2. **编写HQL语句**:根据需求构建HQL查询语句,这一步骤需要熟悉HQL语法结构。 3. **创建Query对象**:利用Session对象的`createQuery`方法,传入HQL语句创建Query实例。 4. **设置参数**:如果HQL语句中包含...

    Hibernate中查询语句

    Hibernate中的查询方法若HQL,详细讲解HQL与使用的具体例子

Global site tag (gtag.js) - Google Analytics