我在数据库中有一个名为 Role.java
的实体类和一个 Role_tbl
表。在我的代码中,我有一个 Role
- roleList
的 ArrayList
。我只想检查 roleList
中的所有角色是否都存在于 Role_tbl
中。
首先,我从 Role_tbl
获取所有数据,并将它们放入 Role
的新 ArrayList
- roleListfromDB
.之后使用 for every 循环我完成了检查 -
for(Role each : roleList){
if(!roleListFromDB.contains(each)){
flag = false;
break;
}
}
但我认为效率不够。我知道 hql 中有一个 exist
子句。我可以用它来检查单个对象。但是我可以用它来检查整个roleList
是否存在于数据库中吗?
提前致谢。
最佳答案
So first of all I have fetch all data from Role_tbl
不,你不知道。 只需查询表中是否有匹配的实体,如果返回的列表大小相同,则它们都在那里。
如果您不需要知道哪些实体丢失/存在......您可以只进行计数(@JBNizet)
关于java - HQL 检查列表中的所有元素是否存在于表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29299005/