Così Im ottenere un numero di istanze di una particolare entità da idCaricamento più entità di id in modo efficiente in Hibernate 4
for(Integer songId:songGroup.getSongIds())
{
session = HibernateUtil.getSession();
Song song = (Song) session.get(Song.class,id);
processSong(song);
}
questo genera una query SQL per ogni ID, quindi occurred a me che devo fare questo in uno, ma non sono riuscito a trovare un modo per ottenere più entità in una chiamata, tranne eseguendo una query. Così ho scritto una query
return (List) session.createCriteria(Song.class)
.add(Restrictions.in("id",ids)).list();
ma se abilito 2 ° livello di caching non vuol dire che il mio vecchio metodo sarebbe in grado di restituire gli oggetti dalla cache di 2 ° livello (se fossero stati richiesti in precedenza), ma il mio la query andrebbe sempre nel database.
Qual è il modo corretto per farlo?
Hai mai trovato un modo per farlo? – FGreg