En primer lugar, es posible que esté preguntando algo que se ha preguntado y respondido antes, pero no pude obtener un resultado de búsqueda. Está bien, en general (o siempre hasta ahora :)) Definimos anotaciones transaccionales en la capa de servicio, la basura típica de hibernación de primavera suele ser
Controlador-> Administrador-> Dao-> Orm.
Ahora tengo una situación en la que necesito elegir entre el modelo de dominio basado en el sitio del cliente. Digamos que el cliente A está usando mi modelo de dominio, todo está bien, pero otro sitio de cliente me daría un servicio web y no estaría usando nuestro modelo de dominio.
¿Qué capa debería reemplazar? Creo que tiene que ser DAO el que me obtendrá los datos del servicio web y los enviará de vuelta, es decir, dos capas DAO escritas por separado y conectadas según el escenario.
Ahora me he dado cuenta de que hemos estado haciendo un acoplamiento estrecho (si existe tal cosa o digamos que no hay acoplamiento suelto) cuando colocamos la @Transactional
capa de servicio. Tantos cerebros no pueden estar equivocados o lo están (lo dudo).
Entonces la pregunta es "¿Dónde debería" @Transactional
"colocarse la capa de servicio o DAO?" y es la capa de servicio hacia abajo la que debería reemplazar.