Проверка Объектов Jpa: В обслуживании или слушателями жизненного цикла

Вопрос состоит в том, где это лучше (или другими словами: где Вы предпочитаете) помещать бизнес-логику проверки Объектов Jpa.

Две идеи:

  1. В EntityListener, которые прежде сохраняют или обновление проверило бы объект
  2. В сервисе, который обеспечивает доступ к jpa сохраняющиеся методы.

Существуют за и против обоих. При использовании подхода № 2 легче протестировать, поскольку можно просто дразнить jpa поставщика и протестировать логику проверки. С другой стороны, с подходом № 1 проверка произошла бы одновременно с проверками как @NotNull и т.д.

Я хотел бы знать, как Вы решаете проверки в своих проектах и который является лучшим способом пойти.

Спасибо.

6
задан Piotr Jakubowski 30 July 2010 в 10:38
поделиться