`
火云剑Shanke
  • 浏览: 66431 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hibernate如何支持派生表查询

阅读更多

select c.id,c.name,
       (select count(*) tc from agent_resume t where t.company_id=c.id) tc
       from  company c 
       order by tc desc;


如转化成HQL,会报以下异常,Hibernate无法识别()里的派生表

java.lang.reflect.InvocationTargetException

java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
	



有一个解决办法是将(select XXX from YYY )作为一个属性,在hbm.xml中配置。
但是感觉在实体层添加具体业务很不好。

难道只能直接用JDBC查吗?一个系统用多种ORM方式会增加维护成本。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics