Я использую Play Framework 2 (Java) вместе с Ebean. Среди моих классов моделей у меня есть classA
с отношением «один ко многим» к classB
. Соответствующая таблица для classB
поэтому имеет поле, которое либо содержит null
, либо идентификатор для объекта classA
.Извлечение числа строк с непустым отношением «один ко многим»
Я хотел бы получить число строк classA
, для которых есть один или несколько связанных объектов classB
. В SQL-терминах я хочу сделать следующее:
select count(id) from classA where id in (select classA_id from classB);
Как это сделать с помощью Play Framework/Ebean?
Я думаю, что для выполнения этой простой задачи должен быть встроенный метод, а не использовать необработанный SQL. Обратите внимание, что нецелесообразно извлекать длинный список из базы данных, а затем подсчитывать количество записей в Java: я хочу, чтобы база данных выполняла эту работу.
'select count (different a.id) from classA a join classB b on b.classA_id = a.id' –
Это еще необработанный SQL. Как бы вы это сделали с Ebean? – plade