I am trying to connect my Play application with a database, I am following controller->service->DAO layer style.
Where should the @Transactional annotation be placed. In the controller action method or can I place it in a service layer class level/method level.
I tried keeping the @Transactional annotation in one of the Service layer class's method and it has thrown runtime error.
[RuntimeException: No EntityManager found in the context. Try to
annotate your action method with @play.db.jpa.Transactional]
So, do we have to use @Transactional only on top of the controller actions? I am using play 2.4.2 version. If yes, why? As I am calling my DAO's in service layer the actual database operations will begin in service layer not in controller I guess. In controller, I am just calling the service layer.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…