浏览 4355 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-03-10
查询示例 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(); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-03-18
通用性不强,一般组HQL语句
|
|
返回顶楼 | |
发表时间:2011-03-18
java苹果+番茄 写道 Example example = Example.create(cat) .excludeZeroes() //排除值为0的属性 .excludeProperty("color") //排除 color属性 .ignoreCase() //忽略大小写 .enableLike(); //启用模糊查询 使用起来太麻烦了,尤其是针对java原始值, 数值的话,还可以每次都排除0值属性,但对于boolean值, 究竟要不要排除,要根据实际情况,这样导致操作起来太麻烦了。 没法写一个统一的API,比如findByExample(Object bo); |
|
返回顶楼 | |
发表时间:2011-03-18
这种用法倒是第一次看到,一般都是用的hql和sql query 接口
|
|
返回顶楼 | |