HQL для проверки наличия всех элементов из списка в таблице

1

У меня есть класс Entity с именем Role.java и таблица Role_tbl в базе данных. В моем коде у меня есть ArrayList о Role - roleList. Я просто хочу проверить, существует ли всякая роль из roleList в Role_tbl.

Поэтому в первую очередь я должен извлечь все данные из Role_tbl поместить их в новый ArrayList из Role - roleListfromDB. После этого, используя для каждого цикла, я сделал проверку -

for(Role each : roleList){
   if(!roleListFromDB.contains(each)){
     flag = false; 
     break;
   }
}  

Но я думаю, что это недостаточно эффективно. Я знаю, что exist условие exist в hql. Я могу использовать его для проверки одного объекта. Но могу ли я использовать его, чтобы проверить, существует ли весь roleList в БД?

Заранее спасибо.

Теги:
hibernate
hql

1 ответ

2
Лучший ответ

Поэтому, прежде всего, я получаю все данные из Role_tbl

Нет, нет. Просто запросите таблицу для сопоставления сущностей, и если возвращаемый список имеет одинаковый размер, все они есть.

Если вам не нужно знать, какие объекты отсутствуют/присутствуют... вы можете просто сделать счет (@JBNizet)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню