Comment marche les transactions dans spring?
Bonjour à tous.
Aujourd'hui je me pose une question... métaphysique :aie:
Je développe une application spring/hibernate de taille petite/moyenne mais qui devrais recevoir beaucoup de requêtes (plusieurs milliers/jours), donc l'utilisation des transactions est indispensable. Seuleument d'après mes lectures, il apparaitre que spring gère comme un grand les transaction (avec les annotations @transactional(params...) ). cela veut-il dire que je n'ais pas du tout à m'en préoccuper (excepté mettre les annotations au bon endroit bien sur), pas besoin de bous de codes dans ce genre? :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| sf.getCurrentSession().beginTransaction();
/* Ctrl. d'exitence de la borne */
if (borneDao.findById(p.id, false) != null) {
sf.getCurrentSession().getTransaction().rollback();
throw new BusinessException(ErrorCode.BORNE_EXISTE_DEJA);
}
/* R�cup�ration de l'AO */
AutoriteOrganisatrice ao = aoDao.findById(p.idAo, false);
if (ao == null) {
sf.getCurrentSession().getTransaction().rollback();
throw new BusinessException(ErrorCode.AO_INTROUVABLE);
}
borne.setAutoriteOrganisatrice(ao);
borneDao.makePersistent(borne);
sf.getCurrentSession().getTransaction().commit(); |
Et dernière interrogation, ces transactions gérée par spring sont-elles vraiment efficaces? (enfin pour une appli pas trop grosse)?
voila, je veux une réponse en trois pages argumentées, calculatrice interdite, vous avez trois heures :aie:
Et merci d'avance de votre réponse bien évidement ^^