Загрузка огромного количества данных с использованием OJB 1.4
У меня есть Set<String> catNames
который содержит огромный список имен кошек (~35K), и мне нужно загрузить из базы данных (Sybase) все эти Cat
объекты и положить их в Map<String, Cat> cats
: каждая строка содержит имя кота и соответствующий объект кота.
Зная, что я использую OJB 1.4 (он загружает объект Cat
и все его зависимости, такие как Food
, Clothes
...), какой лучший способ загрузить такой огромный список кошек?
Решение 1: один доступ к базе данных на имя кошки
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);