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獲得的完整實例一樣