mysql - 如何在 MySQL 中使用 Hibernate HQL 和 AVG-Function

标签 mysql hibernate hql average

我有以下 Hibernate-Query,到目前为止运行良好。

public static List<PerformanceLog> getStatistics() {
    return entityManager().createQuery(
            "SELECT NEW de.veliqi.selperf.model.PerformanceLog(o.useCase, o.description, o.totalTime) FROM PerformanceLog o",
             PerformanceLog.class).getResultList();
}

但是我需要获取 o.totalTime 的平均值,但我不知道如何做。 使用以下语句会引发异常,显示“org.hibernate.hql.internal.ast.QuerySyntaxException:无法在类上找到适当的构造函数”。

"SELECT NEW de.veliqi.selperf.model.PerformanceLog(o.useCase, o.description, AVG(o.totalTime)) FROM PerformanceLog o GROUP BY o.useCase"

正确的做法是什么?

最佳答案

基本查询语法不正确,无法选择 o.useCase 和 o.description 不使用任何一个,对它们使用聚合器,或者将它们两者包含在 group by 子句中

要修复此问题,请将 group by 子句更改为:

GROUP BY o.useCase, o.description

关于mysql - 如何在 MySQL 中使用 Hibernate HQL 和 AVG-Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721555/

相关文章:

php - 对电影数据库的 PHP mySQL 查询速度极慢

php - 选择具有最高值的前十行

java - 如何知道 Hibernate 中原生 SQL 查询结果的类型?

java - 具有完全限定类名的 HQL

java.lang.ang.NoClassDefFoundError : org/hibernate/util/DTDEntityResolver 错误

java - HQL问题

php - 在 CMS 中选择页面 View /布局

php - 需要从数据库字段反序列化数据,以替换为纯文本

hibernate - JpaRepository 不会插入多对多数据

Hibernate SchemaExport 无法首先创建架构