一个HQL的问题

jiangpingzhan 2008-08-20 11:23:13
HQL 如下:
select m.agent.name , count(m.agent.id), count(m.user.id) , count(m.agent.id)-count(m.user.id) from MacManager as m group by m.agent.name


去掉 count(m.agent.id)-count(m.user.id) 这段能正常运行
,试过将 (count(m.agent.id)-count(m.user.id) ) as als 不过还是不行

求教大侠们
...全文
141 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiulian1987 2008-10-16
  • 打赏
  • 举报
回复
因为HQL是查询对象的,列就对象的属性,你那里就是因为对象没有那个属性,所以报错,我刚好碰到了,我用视图搞的,你也可以搞一下。
时光瞄 2008-10-12
  • 打赏
  • 举报
回复
SQLQuery query = session.createSQLQuery(sql)

用原生sql查询吧
jumpheightway 2008-10-11
  • 打赏
  • 举报
回复
写个类似sql语句跑下不就知道了
何必整得那么复杂呢
Java_qiuzhi 2008-10-07
  • 打赏
  • 举报
回复
可以试试把查出来的属性再封装到原来那个的pojo类里 再pojo里多架个构造方法
nqyfeng 2008-10-07
  • 打赏
  • 举报
回复
贴出sql
wo5ni1_888 2008-10-07
  • 打赏
  • 举报
回复
学习
jfheng 2008-10-07
  • 打赏
  • 举报
回复
可以试试把查出来的属性再封装到原来那个的pojo类里 再pojo里多架个构造方法

十楼的方法比较高
zgxzowen 2008-10-07
  • 打赏
  • 举报
回复
换一个hql解析器试下,可以配置在hibernate.hbm.xml里面
lixiaolong3399 2008-10-06
  • 打赏
  • 举报
回复
你可以用存储过程呀。
创建存储过程, 分别查出两个值, 在编写查询。
只要执行存储过程就可以啦。
zq620901 2008-10-06
  • 打赏
  • 举报
回复
学习
jinsu_st 2008-08-22
  • 打赏
  • 举报
回复
改下hql吧:

select name ,countagent,countuser,countagent-countuser from(

select m.agent.name as name , count(m.agent.id) as countagent, count(m.user.id) as countuser , from MacManager as m group by m.agent.name
)

直接用原生sql查询就好了


dsfsdafwe 2008-08-21
  • 打赏
  • 举报
回复
这个问题我以前也接触过,开始的时候我也找不到问题的原因,后来我进了一个技术交流群,这个群里的人挺多的,在里面可以沟通技术,你可以进去看一下.群号是:四-三-四-八-零-零-七-一。另外,这个群里可以接项目。
liukang4098 2008-08-21
  • 打赏
  • 举报
回复
up
fosjos 2008-08-21
  • 打赏
  • 举报
回复
贴出异常信息,或show_sql内容

可能是hibernate的bug吧
用最新版的试试
hql建议不要用复杂的语句
SKY138421 2008-08-21
  • 打赏
  • 举报
回复
你这样尝试在数据库的控制台执行也是不行的,用count查询出来是一条语句,而m.agent.name是多个结果,你可以看看他报的错误就知道了。

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧