Java Hibernate:QBE与QBC查询方式详解及HQL用法
需积分: 9 102 浏览量
更新于2024-09-14
收藏 13KB TXT 举报
Java Hibernate Criteria 是 Hibernate 框架中一个强大的查询工具,它提供了在 Java 对象与数据库之间执行复杂查询的能力,特别是在基于对象关系映射(ORM)的场景下。在 SSH(Spring, Struts, Hibernate)集成的开发环境中,Hibernate Criteria 提供了一种灵活的方式来构建动态查询,避免了硬编码SQL语句,使得代码更加面向对象。
1. QueryByExample (查询例证):这是一种基于例子的查询方式,通过创建一个特定类型的对象实例(如 Student 类),并使用 Hibernate 的 Example 类来设置查询条件。例如,你可以创建一个 Student 对象 s,然后传递给 `createCriteria(Student.class)` 方法,指定需要匹配的属性,最后调用 `.list()` 方法执行查询。这种方式适用于根据部分属性进行模糊匹配。
2. QueryByCriteria (基于准则的查询):这种方式需要直接使用 Criteria 对象,结合 Criterion、Order 和 Restrictions 对象来构造更复杂的查询逻辑。首先,创建 Criteria 对象,然后添加具体的限制条件,如使用 `Restrictions.like` 进行字符串匹配,或者 `Restrictions.gt` 和 `Restrictions.lt` 进行范围比较。比如,可以设置一个名为 `jdItemSerialnumber` 的类,通过 `customer` 属性的名称搜索,然后执行 `.list()` 获取结果。
- 使用 `eq` 或 `!=` 对应于 SQL 的 `=` 和 `<>`,分别用于等于和不等于操作。
- `gt`, `gte`, `lt`, `lte` 分别表示大于、大于等于、小于和小于等于。
- `isnull` 和 `isnotnull` 用于检查字段是否为 null。
- `like` 用于模式匹配,支持通配符。
- `and` 和 `or` 用于组合多个条件,形成逻辑与和逻辑或的关系。
- `not` 用于否定一个条件。
- `in` 和 `not in` 用于包含或排除在一组值中的查询。
- `between` 和 `not between` 用于在两个值之间查找数据,不包括边界。
3. HQL (Hibernate Query Language):虽然 Criteria 是 Hibernate 的核心查询接口,但 HQL 是另一种流行的查询方式,它允许使用 SQL 风格的语句进行查询。HQL 提供了更多的查询选项,如上面提到的各种运算符的等价方法。使用 HQL,开发者可以直接编写SQL查询,或者利用 Hibernate 提供的函数和集合操作。
Hibernate Criteria 是 Hibernate 中非常实用的功能,它简化了基于对象的查询过程,增强了代码的可维护性和扩展性。无论是基于例子还是基于准则的查询,开发者可以根据具体需求灵活选择和组合查询条件,以满足复杂的数据检索需求。
2011-03-02 上传
2011-08-03 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-07-20 上传
最普通的唯一
- 粉丝: 2
- 资源: 5
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦