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方式会增加维护成本。