Au lieu de renvoyer un List<Long>
d'identifiants lors de l'appel PersonDao.getAll()
, nous ne voulions pas avoir une collection entière d'identifiants en mémoire.Évitez d'avoir une énorme collection d'identifiants en appelant un DAO.getAll()
Apparemment, renvoyer un org.springframework.jdbc.support.rowset.SqlRowSet
et itérer sur cet ensemble de lignes ne conserverait pas tous les objets en mémoire.
Le seul problème ici est que je ne peux pas lancer cette ligne à mon entité.
Y a-t-il un meilleur moyen pour cela?
En général, nous voulons faire une méthode sur chaque personne dans notre db
bonne réponse! sauf le rinçage et la compensation j'ai peur de. Est-ce que je veux cela aussi pour d'autres transactions en cours ... StatelessSession me semble le mieux. –
@Michael Bon point, j'ai oublié de mentionner que ceci est supposé être exécuté dans une transaction séparée, pour ne pas gâcher le contexte de persistance. Mais une StatelessSession peut aussi fonctionner. –
éter: Ok, mais quand cela fonctionne dans une transaction sperate, un session.flush/clear affectera toujours toutes les transactions dans cette session, je pense. –