Как использовать Group By в seedstack? - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу использовать Group By в Seedstack для подсчета строк и суммирования определенных значений.

Например: у меня есть эта таблица "employee" в базе данных:

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?

1 Ответ

0 голосов
/ 14 февраля 2019

SeedStack осуществляет свой реляционный доступ к базе данных через JPA или стандарты JDBC:

  • JPA - это API более высокого уровня, чем объектно-реляционное сопоставление (ORM).
  • JDBCAPI нижнего уровня, который позволяет напрямую выполнять SQL.

Я рекомендую вам пойти по пути JPA.Вы можете узнать, как сконфигурировать и использовать его с SeedStack здесь: http://seedstack.org/guides/jpa

При использовании бизнес-фреймворка персистентные операции инкапсулируются в репозитории , которые необходимо расширить, чтобы выйти за пределы встроенныхв способностях.В методе вашего пользовательского репозитория вы можете использовать полный API JPA, получив интерфейс JPA EntityManager с getEntityManager().

Что касается JPA, эквивалентного Group By, вы можете использоватьлибо API критериев, либо язык запросов JPQL.Вы можете прочитать это для получения дополнительной информации: https://www.objectdb.com/java/jpa/query/jpql/group.

Если у вас JPA работает нормально, вы можете опубликовать более конкретный вопрос с помощью тега JPA (независимо от того, используется SeedStack или нет).

...