Pessoal, estou estruturando uma aplicação para depois começar a produção em massa do modelo. O cenário é o seguinte:
Façades
Entity
RepositoryInterface
Repository
DAOInterface
DAOImpl
JPA
ORM
SGBD
Para montar esse amotoado de forma desacoplada estou usando DI com Spring.
Agora chegou a dúvida cruel. Como implementar transações. Em princípio, com pouca coisa implementada, fiz tudo dentro dos métodos dos DAOImpl. Mas sei que nem deveria ficar assim. Bom a dúvida é a seguinte:
Onde abrir a transação e onde fechá-la? Abro e fecho no Repository, deixando as várias chamadas a diferentes DAO’s dentro da mesma transação? Passo a transação como parâmentro para os daos?? Mas dessa forma, como desacoplar o repository do JPA ? Crio uma interface para transação? Injeto a transação? Como funciona o tal JTA ? É uma boa ? Tamém ouvi falar que o Spring poderia fazer isso com AOP, mas nem imagino como isso funciona… Até já li um pouco na documentação, mas me deu um nó…rs…
Não sei se estou falando bobagens, mas se alguém mais experiente puder ajudar, agradeço.
[]s.
