hibernate_Criteria_分页_去重
2024-08-30 19:09:54
触发原因:实体类间存在一对多关系,并且在一这方加载多的时候用的加载模式是eager。
解决方法:1.非分页:criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
当用再分页查询中实际查出来的实体数比maxResults的预期要少,因为他是先分页后去重。
2。分页:将fetch方式改为懒加载。(如@OneToMany(fetch = FetchType.LAYZ, mappedBy = "role")
)
但Hibernate的懒加载是session级别的。
3.取消实体之间的非必要join,只在用到的时候才去查询子实体,这样做的好处是既不影响分页,又提升了查询性能。
最新文章
- mpi4py实践
- [deviceone开发]-一个固定列,可以上下左右滑动的表格示例
- nodejs学习笔记(1)--express安装问题:express不是内部也或者外部的命令解决方案
- CALayer总结(三)
- C# 序列化 Serialize 的应用
- OC 消息传递机制
- echarts 地图与时间轴混搭
- Largest Submatrix(动态规划)
- vs生成配置release自动恢复成debug无法配置的问题
- 利用异或求(整数数组中,有2K+1个数,其中有2k个相同,找出不相同的那个数)
- java points[复习]
- 关于Eclipse的版本、分支、衍生版本
- [Python设计模式] 第21章 计划生育——单例模式
- git的一些补充点
- 【BZOJ1802】[AHOI2009]checker(动态规划)
- 〖Android〗存在多个Android设备时,使用Shell脚本选择一个Android设备
- codeforces 14A - Letter &; codeforces 859B - Lazy Security Guard - [周赛水题]
- Java8 新特性之Stream API
- Windbg查看w3wp进程占用的内存及.NET内存泄露,死锁分析
- deepin ubuntu等创建桌面快捷方式