У меня есть приложение JSF 2.0, для которого я хотел бы начать добавлять блоки проверки допустимости. Основной обзор архитектуры приложения следующие.
Я Управлял Отступающими Бобами, которые содержат экземпляры аннотируемых классов моей JPA и EJB's. EJB's Ответственен за доступ к базе данных транзакционно. Аннотируемые классы JPA являются valuebound к моему facelets (и используйте EJB's для доступа дб).
Я хотел бы потенциально использовать Бобовую проверку и записать пользовательские ограничения, однако это будет означать, что я должен добавить, что те ограничения к моей JPA аннотировали классы. Это кажется мне как он, нарушает мое разделение проблем. (Смешивание презентации/проверки с JPA аннотировало КЛАССЫ/ДАО), лучше не использовать Бобовую проверку в этом случае? Моя структура испорчена? Существует ли предпочтительный способ сделать это, что я не знаю о?
Спасибо!
Валидация является частью вашей бизнес-логики и, следовательно, должна присутствовать в вашей доменной модели, которая является вашей сущностью персистентности. Поэтому нет абсолютно ничего плохого в том, что они находятся в сущностях JPA.
Валидации не относятся к представлению, потому что даже если вы измените свой уровень представления (скажем, вы собираетесь разместить кучу веб-сервисов на своих EJB), валидация все равно должна быть там.