hibernate Criteria查询多对多(Set集合)条件筛选
2016-10-08 14:30
357 查看
PO
Java代码
public class UserPO implements java.io.Serializable {
/** 用户唯一标识ID */
private String id;
/** 状态(在用1停用0) */
private String userStatus;
private Set roles = new HashSet();
........
}
Java代码
public class RolePOimplements java.io.Serializable {
/** 角色唯一标识ID */
private String id;
/** 角色级别 */
private Integer roleLevel;
private Set users = new HashSet(0);
........
}
查询用户userStatus等于1且他的角色Level等于3的用户
Java代码
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获得的完整实例一样
Java代码
public class UserPO implements java.io.Serializable {
/** 用户唯一标识ID */
private String id;
/** 状态(在用1停用0) */
private String userStatus;
private Set roles = new HashSet();
........
}
Java代码
public class RolePOimplements java.io.Serializable {
/** 角色唯一标识ID */
private String id;
/** 角色级别 */
private Integer roleLevel;
private Set users = new HashSet(0);
........
}
查询用户userStatus等于1且他的角色Level等于3的用户
Java代码
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获得的完整实例一样
相关文章推荐
- hibernate参考手册之---条件查询(Criteria Query)
- Hibernate条件查询(DetachedCriteria)
- (详细)Hibernate查询技术(Query、Session、Criteria),Hibernate的三种状态,Hibernate集合struts2实现登录功能(二)
- hibernate中日期条件查询问题setDate,setTimestamp
- 给hibernate的Set增加死条件筛选
- Hibernate条件查询(Criteria Query)
- hibernate封装查询,筛选条件然后查询
- Hibernate条件查询(Criteria Query)
- Hibernate的动态条件查询DetachedCriteria
- 关于Hibernate中fatch=eager的bag集合(一个java List)使用Criteria查询出现重复记录的问题
- JAVA Hibernate 条件查询 Criteria
- Hibernate中Criteria的使用(条件查询)
- hibernate --Criteria条件查询
- Hibernate条件查询(Criteria Query)
- (详细)Hibernate查询技术(Query、Session、Criteria),Hibernate的三种状态,Hibernate集合struts2实现登录功能(二)
- [转]Hibernate条件查询(Criteria Query)
- hibernate基础之查询--criteria(条件查询)
- Hibernate条件查询(Criteria Query)
- hibernate的多条件查询——Criteria Query的应用
- Hibernate Criteria 组合查询条件