У меня есть корпоративное Java-приложение, которое предоставляет веб-сервис, имеет уровень домена и уровень персистентности гибернации. В данном конкретном случае нет большой разницы (на данный момент) между объектами, которые я отправляю по проводам, объектами домена и объектами постоянства.
В настоящее время приложение использует DTO на персистентной стороне и аннотирует классы домена аннотациями JAXB. Однако чем больше я читаю и думаю об этом, тем больше это кажется задом наперед! (Не говоря уже о том, что между объектами DTO и Domain много бессмысленного кода, поддерживающего бездумное.) Кажется, что большинство архитекторов предлагают помещать аннотации JPA в модель домена и создавать DTO для отправки объектов по проводам.
В моем случае, могу ли я разместить аннотации JAXB и JPA (Hibernate) на классах моего домена?
Мысль о том, что мой фасад веб-службы, мой домен и мое упорство тесно связаны друг с другом, кажется простым в поддержании, но меня это беспокоит, поскольку со временем они могут измениться. Но будет ли разумнее создать набор классов DTO для стороны веб-сервисов и пропустить DTO для стороны персистентности?