如何将以下SQL查询转换为HQL?
SELECT count(sa.AID)
FROM A sa
, B sal,C m
WHERE sa.AID = sal.AID(+) and sa.BID = m.BID and sa.AID ='0001'
答案 0 :(得分:0)
您需要在JAVA中转移每个table/
列into it's associated
实体/
类`,然后使用Hibernate ORM如下构建查询。
假设
-表sa
的实体名称为saEntity
,表B
的实体名称为bEntity
,表C
的实体名称为cEntity
。
-列AID
的类名是AidClass
,列BID
的类名是BidClass
然后可以按以下方式编写Hibernate ORM查询(我喜欢在多行注释中格式化HQL查询,以使其更易于阅读和适应)。
@Query( "SELECT COUNT(sa.AidClass) "
+ "FROM saEntity sa, "
+ " bEntity sal "
+ " cEntity m"
+ "WHERE sa.AidClass = sal.AidClass"
+ " AND sa.BidClass = m.BidClass "
+ " AND sa.AidClass ='0001'")
public List <?> runMyQueryMethod();
答案 1 :(得分:-1)
尝试查看这个问题的答案。
或者这篇文章可能有所帮助..
https://forum.hibernate.org/viewtopic.php?t=972441
如果你展示了一些我可以帮助HQL的映射。你可以使用
Session.CreateSQLQuery而不是?