Счетчик гибернации, сумма и т. Д. - PullRequest
0 голосов
/ 01 апреля 2012

Используя Hibernate / SQL Server,

Допустим, у меня есть сущность A с составными сущностями Aa, Ab и т. Д., Которые имеют поля x, y, z.

Query queryResult = s.createQuery("from A");
java.util.List A;
selectedA = queryResult.list();

Iможно легко подсчитать количество подобъектов, используя

int countAa = A.getAas().size();

Но как я могу сделать что-то с такими условиями, как, например,

int count = A.getAas() "where x = 2"

или

int count = A."get sum of Abs.y"

Должен ли я каждый раз делать новый запрос или есть другой способ?

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2012

Вы можете просто написать так:

Query queryResult = s.createQuery("select sum(abs(y)) from A");
  • abs (y) - функция mysql, поэтому проверьте руководства по БД, если вы используете другой механизм БД

или Query queryResult = s.createQuery ("выберите количество (*) из A, где x = 2");

Вы также можете использовать «группировать по» и «иметь». Подробнее здесь http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-grouping

0 голосов
/ 01 апреля 2012

Критерии с проекциями решат вашу проблему. Проверьте здесь для документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...