查询用户userStatus等于1且他的角色Level等于3的用户
PO
public class UserPO implements java.io.Serializable {
/** 用户唯一标识ID */
private String id;
/** 状态(在用1停用0) */
private String userStatus;
private Set roles = new HashSet();
........
}
public class RolePOimplements java.io.Serializable {
/** 角色唯一标识ID */
private String id;
/** 角色级别 */
private Integer roleLevel;
private Set users = new HashSet(0);
........
}
查询用户userStatus等于1且他的角色Level等于3的用户
DetachedCriteria criteria = DetachedCriteria.forClass(UserPO.class); // org.hibernate.criterion.DetachedCriteria
criteria.add(Restrictions.eq("userStatus", "1"))
.createAlias("roles", "r")
.add(Restrictions.eq("r.roleLevel", new Integer(3)));
criteria.add(Restrictions.eq("userStatus", "1"))
.createAlias("roles", "r")
.add(Restrictions.eq("r.roleLevel", new Integer(3)));
需要注意的是:
获取User时是获得了roles的全部记录集,而不是经过过滤的记录集,相当于User的id获得的完整实例一样
.
分享到:
相关推荐
### Hibernat 使用Criteria查询多对多关系(SET集合)条件 #### 背景介绍与概念理解 在Java开发中,特别是在企业级应用中,持久化层的处理至关重要。Hibernate作为一款流行的Java持久化框架,它提供了一种非常简便...
#### 四、条件查询 ##### 1. 查询价格在50元以上的书籍 ```java Criteria criteria = session.createCriteria(Books.class); criteria.add(Restrictions.gt("price", 50.0)); List<Books> list = criteria.list();...
Hibernate Criteria 是一种在Java应用程序中使用Hibernate ORM框架执行SQL查询的方式。它提供了一种面向对象的方式来构建查询,使得代码更加可读和易于维护。Criteria API 提供了多种方法来构建复杂的查询,包括添加...
这个案例是根据分组查询,并且得到每组的条数,不懂得可以q我:1710086675,欢迎认识更多新朋友
7. **关联查询**:Criteria支持一对多、多对一、一对一等关联查询。通过`createCriteria()`方法,可以嵌套创建关联对象的Criteria,以获取相关联的数据。 8. **子查询**:Criteria也支持子查询,可以将一个Criteria...
但对于复杂的多表关联查询场景,则需要借助Criteria API来灵活构建查询条件。本文将围绕给定的代码片段,深入探讨Hibernate Criteria API中排序功能的使用方法与注意事项。 #### 二、基础知识回顾 在开始之前,...
在Hibernate中,List集合常用于存储一对多(One-to-Many)或多对多(Many-to-Many)的关系,例如用户和他们的订单、学生和课程等。 在查询时,我们可能需要根据特定条件筛选出List集合中的元素。这可以通过HQL...
在Java持久层框架Hibernate中,Criteria API是一种动态构建SQL查询的方法,它允许开发者在运行时构建查询,提供了更面向对象的查询方式。本篇将详细阐述Hibernate Criteria API的使用。 首先,Criteria API由...
同时,很多IDE如Eclipse和IntelliJ IDEA提供了对Hibernate的支持,可以自动生成Criteria查询,简化开发过程。 在进行团队协作时,文件管理也非常重要,"java集成svn"可能指的是项目中使用了Subversion(SVN)作为...
在深入探讨Hibernate与Criteria结合进行模糊查询之前,我们先来了解一下Hibernate和Criteria的基本概念,以及为何选择使用它们进行模糊查询。 ### Hibernate简介 Hibernate是一个开放源代码的对象关系映射(ORM)...
Hibernate 的 Criteria 是一种强大且灵活的查询机制,允许开发者根据需求灵活地组装查询条件。Criteria 的设计是基于 CriteriaSpecification 父接口,提供了 Criteria 和 DetachedCriteria 两个实现。 Criteria 和 ...
本篇内容将聚焦于Hibernate中的Criteria查询,这是一种动态构建SQL查询的方法,无需直接编写SQL语句,非常适合在程序运行时根据条件构建查询。 在Hibernate中,Criteria API提供了一种类型安全的方式来执行查询,它...
Hibernate条件查询Criteria.docHibernate条件查询Criteria.doc
在Hibernate中,使用`Criteria`进行查询时,可以通过添加排序条件来对结果集进行排序。`Criteria`提供了一个非常灵活的方式来实现这一点。 **示例代码**: ```java Criteria criteria = session.createCriteria...
1. **Criteria**:`org.hibernate.Criteria` 接口是 Criteria 查询的核心,它提供了各种方法来设置查询条件。 2. **Criterion**:`org.hibernate.criterion.Criterion` 接口定义了一个查询标准,用于表示查询条件。 ...
Hibernate 的 Criteria 是一个完全面向对象、可扩展的条件查询 API,通过它完全不需要考虑数据库底层如何实现、SQL 语句如何实现。Criteria 提供了灵活的查询条件组装方式,能够满足开发中复杂的查询需求。 一、...
1. **条件组合**:你可以使用`Expression`的`and`或`or`方法来组合多个查询条件,以满足更为复杂的查询逻辑。 ```java Expression expr1 = Restrictions.eq("name", "Erica"); Expression expr2 = Restrictions...
Hibernate Criteria API 是 Hibernate 框架中一个强大的查询工具,它提供了一种面向对象的方式来构建SQL查询,使得开发者无需直接编写SQL语句,即可进行复杂的数据库操作。Criteria API 提供了高度抽象的接口,可以...
总结,"Hibernate 多表连接分页查询示范项目"是一个实用的示例,它展示了如何在实际应用中利用 Hibernate Criteria API 实现复杂查询和分页,对于学习和掌握 Hibernate 的高级特性和数据库操作技巧非常有帮助。...