Подсчет вхождений объектов подкласса в коллекции с использованием jpql в предложении select - PullRequest
0 голосов
/ 14 июня 2019

Мне нужно получить, если существуют элементы определенного подкласса в коллекции, используя запрос jpql.

У меня есть запрос jpql, который возвращает меня, если коллекция не пустая, используя функцию Size jpql,но коллекция (называемая дочерней) имеет класс Node, который имеет некоторые подклассы, такие как папка или документ.Я использую таблицу на режим наследования подкласса.У меня есть таблица для узла, другая для папки и еще одна для документа.Папка и документ наследуются от узла.

TypedQuery<FolderDTO> q=  sessionFactory.getCurrentSession().createQuery(
"SELECT new com.enterprise.dto.FolderDTO(c.id, c.name, 
c.order, SIZE(c.children) > 0) FROM Folder c WHERE c.parent.id = 
:idParent group by c.id, c.name, c.order", FolderDTO.class);
q.setParameter("idParent ", idParent);
q.getResultList();

Мой конструктор DTO -

public FolderDTO(Long id, String name, int order, boolean hasChildren) {
    super();
    this.id = id;
    this.name= name;
    this.order= order;
    this.hasChildren= hasChildren;
}

Я хотел бы получить количество элементов папки в коллекции.Возможно ли это?

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