我在数据库中有一个名为Role.java的Entity类和一个Role_tbl表。在我的代码中,我的ArrayListRole-roleList。我只想检查roleList中是否所有角色都存在于Role_tbl中。

因此,首先,我已从Role_tbl获取所有数据,并将它们放入ArrayList-Role的新roleListfromDB中。之后,为每个循环使用a,我已经完成了检查-

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


但是我认为效率不够高。我知道hql中有一个exist子句。我可以用它来检查单个对象。但是我可以用它来检查整个roleList是否在数据库中存在?

提前致谢。

最佳答案

所以首先我已经从Role_tbl获取所有数据


不,你不会。
只需查询表以查找匹配的实体,如果返回的列表大小相同,则它们都在那里。

如果您不需要知道缺少/存在的实体...您可以做一个计数(@JBNizet)

10-06 06:31