【问题标题】:MySQL to HQL queryMySQL 到 HQL 查询
【发布时间】: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()

感谢您的帮助。

【问题讨论】:

标签: mysql hibernate hql


【解决方案1】:

我找到了正确的 HQL 查询,所以不再需要帮助了。

List<Object[]> result = session.createQuery("select pu.url, count(sen.content)"
        + " FROM ProcessedUrl pu"
        + " JOIN pu.sentences sen "
        + " GROUP BY pu.url "
        + " ORDER BY 2", Object[].class).getResultList();

【讨论】:

    猜你喜欢
    • 2017-07-27
    • 2020-08-23
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    相关资源
    最近更新 更多