`
java苹果+番茄
  • 浏览: 67951 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

org.hibernate.criterion.Example(用法解释)

阅读更多
org.hibernate.criterion.Example(用法解释)

查询示例
org.hibernate.criterion.Example
类允许你通过一个给定实例构建一个条件查询。
此实例的属性值将做成查询条件。
程序代码
Cat cat = new Cat();
cat.setSex('F');
cat.setColor(Color.BLACK);
List results = session.createCriteria(Cat.class)
  .add( Example.create(cat))
  .list();


Example.create(cat) 表示根据cat这个对象来构造一个查询条件。

上面这条语句将查询sex 为 F 而且Color为BLACK的所有Cat记录。


版本属性、标识符和关联被忽略。默认情况下值为null的属性将被排除。
可以自行调整Example使之更实用。
程序代码
Example example = Example.create(cat)
  .excludeZeroes()       //排除值为0的属性
  .excludeProperty("color") //排除 color属性
  .ignoreCase()         //忽略大小写
  .enableLike();         //启用模糊查询
List results = session.createCriteria(Cat.class)
  .add(example)
  .list();


甚至可以使用examples在关联对象上放置条件。
程序代码
List results = session.createCriteria(Cat.class)
  .add( Example.create(cat) )
  .createCriteria("mate")
    .add( Example.create( cat.getMate() ) )
  .list();
分享到:
评论
3 楼 skcmm 2011-03-18  
这种用法倒是第一次看到,一般都是用的hql和sql query 接口
2 楼 sswh 2011-03-18  
java苹果+番茄 写道

Example example = Example.create(cat)
  .excludeZeroes()       //排除值为0的属性
  .excludeProperty("color") //排除 color属性
  .ignoreCase()         //忽略大小写
  .enableLike();         //启用模糊查询


使用起来太麻烦了,尤其是针对java原始值,
数值的话,还可以每次都排除0值属性,但对于boolean值,
究竟要不要排除,要根据实际情况,这样导致操作起来太麻烦了。

没法写一个统一的API,比如findByExample(Object bo);


1 楼 cesymm 2011-03-18  
通用性不强,一般组HQL语句

相关推荐

    Hibernate中Example的用法

    `Example`查询主要依赖于`org.hibernate.criterion.Example`类,它允许你基于一个实例对象创建查询条件,从而检索出数据库中所有符合该实例属性的对象。下面通过具体的代码示例来说明`Example`的基本使用: ```java...

    hibernate criteria的使用方法

    ### Hibernate Criteria 使用方法详解 #### 一、简介 Hibernate 是一款非常流行的 Java 持久层框架,它简化了对象关系映射(ORM)过程中的许多复杂性。在 Hibernate 中,Criteria API 提供了一种类型安全的方式来...

    Hibernate中Criteria的完整用法.docx

    本文将对 Hibernate 中 Criteria 的用法进行总结,涵盖 Criteria 和 DetachedCriteria 的差异、Criterion 和 Projection 的使用方法等。 Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供...

    Hibernate的Criteria用法总结.doc

    Example 的创建有所不同,Example 本身提供了一个静态方法 create(Object entity),即根据一个对象(实际使用中一般是映射到数据库的对象)来创建。 三、Projection Project 主要是让 Criteria 能够进行报表查询,...

    Criteria的完整用法.pdf

    通过理解并熟练掌握`Criteria`、`DetachedCriteria`、`Criterion`和`Projection`等核心概念及其使用方法,可以显著提升数据库操作的效率和代码的可维护性。在实际项目中,结合Spring框架的便利性,开发者能够更加...

    Hibernate中Criteria的完整用法

    **Example** 是一种特殊类型的Criterion,它基于一个实体对象创建查询条件。你可以忽略大小写,设置模糊匹配等,使得查询更加灵活。 **Projection** 是用于报表查询和聚合操作的接口。它定义了如何从数据库中提取...

    Hibernate - DetachedCriteria 的完整用法

    如使用 `session.createCriteria(Class)` 方法来创建 Criteria 实例,然后使用 `add(Criterion criterion)` 方法来添加查询条件,最后使用 `list()` 方法来获取查询结果。 Hibernate 的 Criteria 和 ...

    Hibernate的Criteria用法总结

    在Java持久层框架Hibernate中,Criteria API是一种动态构建SQL查询的方法,它允许开发者在运行时构建查询,提供了更面向对象的查询方式。本篇将详细阐述Hibernate Criteria API的使用。 首先,Criteria API由...

    Hibernate中Criteria的用法

    在上面的代码中,我们首先创建了一个 Criteria 对象,然后使用 `Example.create(s)` 方法创建了一个示例对象,最后使用 `list()` 方法来获取查询结果。 QBC(Query By Criteria) QBC 是一种基于条件的查询机制,...

    hibernateCriteria的使用.docx

    下面将详细解释Criteria API的使用及其相关概念。 1. Query By Example (QBE) QBE是通过提供一个对象实例作为模板来执行查询的方法。例如,在给定的代码片段中: ```java Student s = new Student(); s....

    Hibernate查询方法之探析.doc

    本文将深入解析五种主要的Hibernate查询方法:QBE(Query By Example)、QBC(Query By Criteria)、HQL(Hibernate Query Language)、本地SQL查询以及QID(Query by Identifier)。 1. QBE(Query By Example) ...

    Hibernate中Criteria的使用

    Example 的创建有所不同,Example 本身提供了一个静态方法 create(Object entity),即根据一个对象(实际使用中一般是映射到数据库的对象)来创建。然后可以设置一些过滤条件,例如 Example exampleUser = Example....

    Hibernate中Criteria的用法详解

    2. 添加Criterion:使用Criteria的add()方法,将Restrictions或Example创建的条件加入。 3. 设置投影:如果需要聚合或特定字段,可以使用Projections的方法并调用Criteria的setProjection()。 4. 设置排序:使用...

    Hibernate的Criteria文档

    开发者可以通过`Restrictions`工具类来创建Criterion实例,例如使用`eq`(等于)、`ge`(大于等于)、`between`等方法。`Restrictions`还支持创建`Conjunction`(AND操作)和`Disjunction`(OR操作)的组合查询条件...

    Criteria使用方法

    本文将详细介绍Hibernate中Criteria接口的常见使用方法及其背后的原理,帮助开发者更好地理解和掌握这一强大工具。 #### 二、Criteria与DetachedCriteria **1. Criteria简介** - **定义**:`Criteria`是用于构建...

Global site tag (gtag.js) - Google Analytics