hibernate Criteria查询多对多(Set集合)条件筛选
2024-10-11 08:24:47
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获得的完整实例一样
最新文章
- java-String Date Calendar之间的转换
- PRINCE2的思维结构
- 前端模板之EasyUI常用控件及参数
- 解决label点击事件触发两次问题
- html5 svg动画
- 安装SQL Server2008,要重启机器,解决办法
- 转载:PCB名詞解釋:通孔、盲孔、埋孔
- 洛谷比赛 堕落的Joe
- Linux增加swap分区大小
- cocos creator 重写源码按钮Button点击音频封装
- Linux中(Ubuntu18.04.x/CentOS)mysql8.0.x安装/配置/部署/启动
- 空手套白狼,硬阅java字节码class文件
- BZOJ3601 一个人的数论 莫比乌斯反演、高斯消元/拉格朗日插值
- springboot启动报错Failed to configure a DataSource
- try}-with-resources
- grid - 使用相同的名称命名网格线和设置网格项目位置
- duilib中字体font设置
- linux删除某用户密码
- node.js基本使用
- java中源代码和lib库中有包名和类名都相同的类(转)
热门文章
- 1029 C语言文法定义与C程序的推导过程
- SlickGrid example 3a: 可编辑单元
- 多校5-MZL's Border 分类: 比赛 2015-08-05 21:28 7人阅读 评论(0) 收藏
- IIS与ApplicationPool重启检测自动化解决方案
- Apache Common-pool2对象池分析和应用
- Java提高篇---Stack
- D3D 模板缓存的创建过程
- 关于打开MTK_SDCARD_SWAP 宏后MTK目前升级方案和 关于打开MTK_SHARED_SDCARD宏后MTK目前升级方案
- SQL数据库约束行为---防止数据漏填
- UVA 10564	十 Paths through the Hourglass