【发布时间】:2016-10-31 17:24:12
【问题描述】:
我应该如何将此 MySQL 查询转换为 HQL 以检索我需要的一些数据?
SELECT pu.url, count(sen.content)
FROM Sentence sen JOIN ProcessedUrl pu
ON sen.PROCESSED_URL_ID=pu.url_id
GROUP BY pu.url ORDER BY 2;
在我的代码中有 POJO ProcessedUrl 映射了 id/url/date/set(of Sentence) 字段。我想做类似的事情:
Session session = HibernateUtils.getSession();
Transaction transaction = session.beginTransaction();
List<ProcessedUrl> result = session.createQuery("proper HQL query", ProcessedUrl.class).getResultList();
transaction.commit();
session.close();
return result;
然后遍历此结果以打印每个 url 的 result.getUrl() 和 result.getSentences().size()。
我知道我的查询应该返回ProcessedUrl 内的字段,那么我如何返回一些分组查询并从中检索未直接保存在表内的数据?每个网址都喜欢这个count()?
感谢您的帮助。
【问题讨论】:
-
您不希望 List
作为结果。您需要一个 List -
这有帮助:)。谢谢。