jpql@discriminatorcolumn的“groupby”

sshcrbum  于 2021-08-01  发布在  Java
关注(0)|答案(0)|浏览(139)

我想通过 DiscriminatorColumn 在jpql中。
例如,我想计算每个“谷物”、“蔬菜”…..的卡路里总和,它们是“食物”的子类(下面给出了代码片段)。我可以通过原生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
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题