Так Im получая количество экземпляров конкретного объекта по идентификаторуЗагрузка нескольких объектов по идентификатору эффективно в Hibernate 4
for(Integer songId:songGroup.getSongIds())
{
session = HibernateUtil.getSession();
Song song = (Song) session.get(Song.class,id);
processSong(song);
}
это генерирует SQL-запрос для каждого идентификатора, поэтому ocurred мне, что я должен делать это в одном, но я не мог найти способ получить несколько объектов в одном вызове, кроме как запустив запрос. Поэтому я написал запрос
return (List) session.createCriteria(Song.class)
.add(Restrictions.in("id",ids)).list();
но если включить кэширование 2-го уровня не значит, что мой старый метод был бы в состоянии вернуть объекты из кэша второго уровня (если они были запрошены ранее), но мой запрос всегда будет обращаться к базе данных.
Какой правильный способ сделать это?
Вы когда-нибудь выяснили, как это сделать? – FGreg