Hibernate найти объекты не в коллекции - PullRequest
0 голосов
/ 22 марта 2011

У меня есть сущность CategoryModel.Одно из свойств скопировано ниже:

@OneToMany(cascade = CascadeType.ALL)
private List<CategoryModel> children;

Как я могу выполнить запрос, который вернет все CategoryModel сущности, которые не находятся в другой children коллекции *1007* сущности сущности (то есть корневые категории)

1 Ответ

1 голос
/ 22 марта 2011

Наиболее эффективным способом было бы сделать двусторонние отношения и применить IS NULL на стороне "многих":

SELECT c FROM CategoryModel c WHERE c.parent IS NULL

Если вы не можете изменить отношения, вы можете сделать что-то вроде этого:

SELECT c FROM CategoryModel p RIGHT JOIN p.children c WHERE p IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...