0

我想在 Seedstack 中使用 Group By 来计算行数并对某些值求和。

例如:我在数据库中有这个表“员工”:

id  name    section value
----------------------------
1   Chun    DDE     5
2   Tom     DMD     8
3   Diana   DMD     18
4   Frisk   DDE     2
5   Laura   DVD     10
6   Chris   DMD     15

我在 SQL 中需要类似的东西:

SELECT section, count(1) as staff, sum(value) as result FROM employee group by section;
    section staff   result
    ------------------------
    DDE     2       7
    DMD     3       41
    DVD     1       10

在 seedstack 中执行此操作的最佳方法是什么?

4

1 回答 1

1

SeedStack 通过 JPA 或 JDBC 标准进行关系数据库访问:

  • JPA 是对象关系映射 (ORM) 的“更高级别”API。
  • JDBC 是允许直接执行 SQL 的“低级”API。

我建议你走 JPA 路线。您可以在此处了解如何配置和使用 SeedStack:http: //seedstack.org/guides/jpa

使用业务框架时,持久性操作被封装在存储库中,您需要对其进行扩展以超越内置功能。在自定义存储库的方法中,您可以通过获取 JPA EntityManager 接口来使用完整的 JPA API getEntityManager()

至于与 Group By 等效的 JPA,您可以使用条件 API 或 JPQL 查询语言。您可以阅读此内容以获取更多信息:https ://www.objectdb.com/java/jpa/query/jpql/group 。

如果您的 JPA 工作正常,您可以使用 JPA 标签重新发布更具体的问题(无论是否使用 SeedStack)。

于 2019-02-14T16:41:10.220 回答