Это вопрос философии дизайна о том, как тесно связать обмен сообщениями с вашей моделью данных.
Учитывая объект pojo, я могу аннотировать его аннотациями Hibernate, JAXB и JSON, чтобы тот же класс могбыть записанным в базу данных, а также сериализовать / десериализовать для обмена сообщениями.Фактор удобства в этом действительно высок, потому что это означает, что мне не нужно писать классы перевода для преобразования сообщений в классы, которые используются для базы данных (что очень важно для утомительного обслуживания и обслуживания).
Тем не менее, это всегда беспокоило меня, потому что оно тесно связывает ваш интерфейс и сообщения со структурой и дизайном вашей модели данных.Для определенных типов приложений сообщения могут быть именно тем, что вы хотите сохранить в базе данных, а в других случаях это подмножество полей базы данных.
Есть ли лучший способ отделить их, не подвергая себя утомительнымперевод / преобразование классов?Есть ли шаблон, который я могу использовать, чтобы как минимум лучше связать сообщение и данные?