java - @DiscriminatorColumn 的 JPQL “GROUP BY”
问题描述
我想通过DiscriminatorColumn
JPQL 应用聚合函数分组。
例如,我想计算“grain”、“vegetable”、....中每个“food”的子类的卡路里总和(代码片段如下)。我可以通过本机 sql 来计算,即SELECT food_type, SUM(calorie) FROM food GROUP BY food_type;
. 但是为了数据库间的兼容性,我想用 JPQL 编写它。
你有什么建议吗?谢谢!
@Entity
@Inheritance
@DiscriminatorColumn(name = "FOOD_TYPE")
@Table
public abstract class Food {
@Id
Long foodId;
@Column
String name;
@Column
Double calorie;
}
@Entity
@DiscriminatorValue("GRAIN")
public class Grain extends Food {
// some fields
}
@Entity
@DiscriminatorValue("VEGETABLE")
public class Vegetable extends Food {
// some fields
}
解决方案
推荐阅读
- sql-server - 如何在 SQL 触发器中将软删除捕获为 DELETE 语句
- python - 如何使用 dataclass 装饰 pyqt5 类?
- html - 我想在离子应用程序中创建一个颜色选择器
- python - 将列表中的所有数字设为 3 位数字
- python - 通过连接多个文件创建的文本文件的交互式 3D 散点图
- php - PHP / CSV 导出 - 空白行问题
- eclipse - 由于证书问题,无法在 Spring 工具套件中安装插件
- haproxy - 通过 haproxy 访问节点应用程序时出现 504 网关超时错误
- python - 在熊猫中将 datetimeindex 扩展到以前的时间
- java - 如何设置微调器初始文本“SELECT ONE”?