我需要查询我的数据库(postgres),如下所示:
实体:
class Cat{
int id;
String name;
}
主要课程:
int [] idCats = {1,2,7,5,8,4,9,10,12,14};
for(int id : idCats){
Cat cat = session.load(Cat,id);
(do something with cat, according your name)
}
但是,这种方法可以产生很多sqls。考虑到我将搜索几乎所有的ID,有一个 使用标准将所有对象进行搜索的方法。没有自己实施。
答案 0 :(得分:0)
您可以使用hibernate的二级缓存功能。但是如果您的应用程序很简单并且您只想获取带有id的cat,那么将查询结果存储在类似
的哈希映射中Map<Integer, Cat> mapCats = new HashMap<Integer, Cat>();
您可以使用for循环从DB迭代列表。
Map<Integer, Cat> mapCats = new HashMap<Integer, Cat>();
for(Cat oneCat: listCats) {
mapCats.put(oneCat.id, oneCat);
}
然后使用检索 mapCats.get(CATID);