Во-первых, возможно, что я спрашиваю что-то, о чем уже спрашивали и отвечали раньше, но мне не удалось получить результат поиска. Ладно, в общем (или всегда так далеко :)) Мы определяем транзакционные аннотации на уровне сервисов. Типичный весенний спящий режим - это обычно
Controller->Manager->Dao->Orm.
Теперь у меня есть ситуация, когда мне нужно выбирать между моделью домена, основанной на сайте клиента. Скажем, клиент А использует мою модель домена, все хорошо, но тогда другой клиентский сайт предоставит мне веб-сервис и не будет использовать нашу модель домена.
Какой слой я должен заменить. Я считаю, что это должен быть DAO, который будет получать мне данные из веб-службы и отправлять их обратно. Т.е. два отдельно написанных слоя DAO и подключаться в зависимости от сценария.
Теперь я понял, что мы делаем тесную связь (если есть такая вещь или, скажем, не имеет слабой связи), когда мы помещаем @Transactional
на уровень обслуживания. Так много мозгов не могут ошибаться или они (я в этом сомневаюсь).
Итак, вопрос "Где должен быть" @Transactional
"" место уровня обслуживания или DAO? " и это сервисный слой вниз, я должен заменить.