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

Hibernate 的HQL中一个经典函数elements的使用

阅读更多

在传递索引和元素给集合时(elements and indices函数)和传递子查询的结果集时,SQL函数any, some, all, exists, in都是被支持的:

可编写如下Hql 语句完成查询:

HQL代码 select Blog    
  1. from Blog, Book   
  2. where Blog.author in elements(Book.authors)   
  3.     and Book.id=?  
 
对应的Sql近似如下:
Sql代码<embed src="http://www.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" type="application/x-shockwave-flash"></embed>
  1. select  blog.*   
  2. from  blog, book   
  3. where  (blog.author  in  ( select  author.authorid  
  4.         from  book_author   
  5.         where  book.id=book_author.bookid))   
  6.     and  book.id=? 

项目中统计中使用如下:

摘取其中一部分:

 

if (condition.getHasGym() != null && condition.getHasGym()) {
   sb.append(" and " + AmuseFacilities.FITNESSROOM.getCode() + " in elements(h.hotelInfo.hotelFacilityInfo.amuseFacilities)");
  }

 

 

分享到:
评论
2 楼 java.wj 2010-01-13  
不错 长见识了
1 楼 smzd 2010-01-12  
不错,学习了

相关推荐

    全面解析HQL语句 非常详细直接的HQL语句的功能介绍

    HQL还提供了对集合的高级操作,如`someelements`和`size`函数。例如: - `select mother from Cat as mother, Cat as kit where kit in elements(mother.kittens)`:找到所有幼猫的母亲。 通过上述分析,我们可以...

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

    ### HQL连接查询和注解使用总结 #### HQL连接查询概述 HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者以一种更自然的方式查询对象,而不是直接查询底层数据库表。HQL支持多种连接查询...

    HQL查询语言基础

    HQL(Hibernate Query Language)是Hibernate框架中用于操作对象关系映射(ORM)的查询语言,它与SQL类似但更面向对象。HQL提供了丰富的功能来查询和操作数据库中的对象,使得开发人员可以更加专注于业务逻辑而不是...

    Hibernate+中文文档

    9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承...

    最全Hibernate 参考文档

    9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承映射...

    hibernate3.2中文文档(chm格式)

    9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承...

    HibernateAPI中文版.chm

    9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承...

    HQL查询语言基础!

    - 使用`elements()`函数可以获取集合属性的元素,例如: ``` select elements(employee.Name) from Employee as employee ``` 这将返回所有Employee对象的Name属性的集合。 通过理解并熟练运用这些HQL基本概念...

    Hibernate中文详细学习文档

    1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...

    Hibernate 中文 html 帮助文档

    1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...

    hibernate 体系结构与配置 参考文档(html)

    第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射...

    Hibernate教程

    10.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 10.1.5. 每个具体类一张表(Table per concrete class) 10.1.6. Table per concrete class, using implicit polymorphism 10.1.7. 隐式多态和其他...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承...

    hibernate3.04中文文档.chm

    10.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 10.1.5. 每个具体类一张表(Table per concrete class) 10.1.6. Table per concrete class, using implicit polymorphism 10.1.7. 隐式多态和其他...

    Hibernate3+中文参考文档

    9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承映射...

    hibernate 框架详解

    混合使用“每个类分层结构一张表”和“每个子类一张表” 10.1.5. 每个具体类一张表(Table per concrete class) 10.1.6. Table per concrete class, using implicit polymorphism 10.1.7. 隐式多态和其他继承映射...

    Hibernate参考文档

    1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...

    java技术资源包,内容不多,但是相当实用,可做学习,也可做资料参考和查阅!

    掌握Hibernate的实体映射、Session管理、查询语言(HQL)和缓存机制是提升数据库操作效率的关键。 JavaBean是Java组件的一种标准,它遵循一定的规范,使得组件可以被其他Java应用程序或工具方便地使用。了解...

Global site tag (gtag.js) - Google Analytics