У меня такая ситуация
У меня есть код контроллера
@RestController
public class MyController implements SomeApi {
@Autowired
private final MyService myService ;
public ResponseEntity<AnswerObject> getSomething (RestModelObject obj) {
myService.getSomething(obj);
}
Ниже Сервисный код:
@Service
public class MyServiceImpl implements MyService {
@Autowired
private final EntityRepository entityRepository;
public AnswerObject getSomething (RestModelObject obj) {
Entity entity = entityRepository.getSomething(obj);
AnswerObject answerObject = map(entity, new AnswerObject());
return answerObject;
}
}
У меня здесь несколько слоев, как я вижу -остальной уровень, бизнес-уровень, уровень персистентности (предположим, у меня мало источников данных - БД и эластичные, у каждого есть свой компонент репозитория).
Как мы видим, бизнес-уровень (служба) знает о сущностях, которые не являютсядействительно хорошо, я думаю.
Итак, вопрос в том, каковы наилучшие практики для этой ситуации?Картирование должно происходить на постоянном слое?
Или это хорошая идея - создать какой-то дополнительный адаптер слоя, который будет отвечать за сопоставления между моделями отдыха и внутренними моделями данных, и внедрить его в служебный компонент?
Цените любые хорошие зрелые примеры.