Dónde colocar la anotación @Transactional en Play

Estoy tratando de conectar mi aplicación Play con una base de datos, estoy siguiendo el estilo de capa controlador-> servicio-> DAO.

¿Dónde se debe colocar la anotación @Transactional? En el método de acción del controlador o puedo colocarlo en un nivel de clase de capa de servicio / nivel de método.

Intenté mantener la anotación @Transactional en uno de los métodos de la clase de capa de servicio y arrojó un error de tiempo de ejecución.

[RuntimeException: no se encontró EntityManager en el contexto. Intente anotar su método de acción con @ play.db.jpa.Transactional]

Entonces, ¿tenemos que usar @Transactional solo sobre las acciones del controlador? Estoy usando la versión play 2.4.2. ¿Si es así por qué? Supongo que, como estoy llamando a mis DAO en la capa de servicio, las operaciones reales de la base de datos comenzarán en la capa de servicio, no en el controlador. En el controlador, solo estoy llamando a la capa de servicio.

Respuestas a la pregunta(1)

Su respuesta a la pregunta