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