Alors Im obtenir un certain nombre d'instances d'une entité particulière par idChargement de plusieurs entités par identifiant efficacement dans HIBERNATE 4
for(Integer songId:songGroup.getSongIds())
{
session = HibernateUtil.getSession();
Song song = (Song) session.get(Song.class,id);
processSong(song);
}
cela génère une requête SQL pour chaque identifiant, il me ocurred que je devrais faire ceci dans un, mais je ne pourrais pas trouver un moyen d'obtenir plusieurs entités dans un appel excepté en exécutant une requête. J'ai donc écrit une requête
return (List) session.createCriteria(Song.class)
.add(Restrictions.in("id",ids)).list();
mais si j'activer la mise en cache de niveau 2 ne veut pas que cela signifie que mon ancienne méthode serait en mesure de restituer les objets à partir du cache de niveau 2 (si elles avaient été demandés avant) mais mon requête irait toujours à la base de données.
Quelle est la bonne façon de procéder?
Avez-vous déjà trouvé un moyen de le faire? – FGreg