hibernate实现表联查并获取某个字段的最大值(随笔)
来源:互联网 发布:excel横纵数据互换 编辑:程序博客网 时间:2024/06/05 20:50
最近试用hibernate实现三表连接查询并分组显示某个字段的最大值,在mysql中语句可以运行,改成hql无法运行,遂写下随笔以记录
mysql中查询,可以查询到相应的结果
改写成hql语句
"select o.equipment.equId, o.olderName , e1.power, max(opr.oTime),e1.location from Older o ,Equipment e1 , OperationRecord opr whereopr.equipment.equId = o.equipment.equId = e1.equId and e1.equId in(select e2.equId from Equipment e2 where e2.user.userId ="+userId+")group by o.equipment.equId,opr.equipment.equId" ;
运行程序会报如下错误:
之前以为是字段名没有对应上,仔细查看,没有问题,然后又以为是hibernate中需要给函数(max)取别名,依然报错,经多次尝试修改,将上面hql红字部分改写为蓝字标记部分:
"select o.equipment.equId, o.olderName , e1.power, max(opr.oTime),e1.location from Older o ,Equipment e1 , OperationRecord opr whereopr.equipment.equId = e1.equId and o.equipment.equId = e1.equIdand e1.equId in(select e2.equId from Equipment e2 where e2.user.userId ="+userId+")group by o.equipment.equId,opr.equipment.equId"
然后可以运行显示如下结果:
遂写下个人总结:hibernate可能不支持多等号连接,需要将其进行拆分以and连接,纯属个人言论,仅供参考。。。。
- hibernate实现表联查并获取某个字段的最大值(随笔)
- 获取一张表中某个字段最大值的一条记录
- 得到某个表的某个字段的最大值(Oracle与Mysql的区别)
- hibernate 多表查询获取某个字段
- mongo groupby 并获取数组里拥有某个属性最大值的对象
- 获取list的某个字段
- sql、hql获取一列字段的最大值
- Yii里查找某个字段的最大值和最小值
- 获取Sql Server 某个表的所有字段,并以逗号分隔
- PHP 数据库中某个字段存储的数据是数组数据时,怎样获取并解析
- 演示了通过存储过程来获取某个字段的值,并对该字段值进行了判断
- 获取DataTable某个字段的平均值
- awk按照某个字段排列,求某个列的最大值最小值
- oracle 获取某个表某个字段的默认值
- sql查找表中某个字段值相同,其他字段取最大值的记录
- sql 根据某个字段的条件 选择获取字段
- 求分组中某个字段最大值
- 数据库查出表中某个字段最大值
- 根据 button 的tag值将button排序
- 欢迎使用CSDN-markdown编辑器
- 相对路径和绝对路径的区别
- CentOS7使用virt-p2v将RHEL6.7的物理机转化为kvm虚拟机
- <context:component-scan>使用说明
- hibernate实现表联查并获取某个字段的最大值(随笔)
- 购物商城shopping连载(3)
- ios 属性中常用修饰词的总结
- 蓝桥杯省赛赛后感想
- Android ResultReceiver 汇总
- Android调用百度地图Web端接口,实现百度定位、导航
- 网络协议
- 魅族多机房部署方案
- 机器学习经典书籍--入门书-入门--深入--数学基础