2014-08-30 4 views
-2

J'ai un projet qui a une application Web de printemps et une application de fond multithread.Hibernate Transaction Management dans une application non-web

que ces 2 projets ont un noyau composé de classes de modèles et de dao. dans l'application Web de printemps J'utilise SessionInViewPattern qui n'a pas besoin d'ouvrir la transaction et de valider dans la classe de mon dao et dans mon application de fond que je ne peux pas utiliser SessionInViewPattern je dois ouvrir la transaction et les valider.

parce que mes classes dao sont partagées entre 2 projets quelle est la solution?

+0

Vos DAO ne doivent jamais traiter de transactions. Les transactions doivent être délimitées à la couche de service. –

+0

Je n'ai pas besoin @transactional parce que l'utilisation du modèle OpenSessionInView –

+0

Mon problème est mon dao est partagé entre 2 projet que dans le projet web je n'ai pas besoin de commencer et de commenter la transaction et en arrière-plan je dois commencer et valider la transaction. –

Répondre

0

Vous pouvez penser à implémenter AOP (Programmation orientée aspect) dans votre projet d'arrière-plan en enveloppant votre méthode qui appelle le DAO avec la transaction d'hibernation. Si votre projet d'arrière-plan utilise Spring, il est très facile de configurer la transaction Hibernate comme un aspect.

Questions connexes