1

我有一个Set<String> catNames包含大量猫名(~35K)的列表,我需要从数据库(Sybase)中加载所有这些Cat对象并将它们放入Map<String, Cat> cats:每行包含猫名和相应的猫对象。

知道我正在使用 OJB 1.4(它加载对象Cat及其所有依赖项,如Food... Clothes),这是加载如此庞大的猫列表的更好方法吗?

解决方案 1:每个 catName 一次访问数据库

cat = getCatByName(catName);然后cats.put(catName, cat);return cats;

解决方案 2:对所有这些猫名的数据库进行一次访问

cats = getCatsByNames(catNames);然后

for (Iterator iterator = cats.iterator(); iterator.hasNext();) { cat = (Cat)iterator.next(); cats.put(cat.getName(), cat); }

return cats;

PS: getCatsByNames用途criteria.addIn("catName", catNames);

4

0 回答 0