2015-07-30 6 views
2

Должны ли объекты JPA соответствовать ограничениям базы данных, которую они сопоставляют? Что относительно триггеров базы данных, используемых для генерации данных, должны ли они совпадать?Должны ли объекты JPA соответствовать ограничениям базы данных и триггерам?

ответ

2

Да, вы должны моделировать ограничения в своей модели JPA, так как лучше всего указывать эти ограничения явно в ваших сущностях.

С одной стороны, только из-за целей документирования (многие разработчики будут изучать вашу модель сущности, и почти никто из них не будет изучать модель базы данных при использовании ваших компонентов).

С другой стороны, поскольку вы можете поймать неверный ввод как можно раньше (возможно, даже в пользовательском интерфейсе), потому что многие фреймворки, такие как JSF, будут смотреть на них.

И вы должны попробовать переместить триггеров из вашей базы данных в ваши сущности - поддерживать логику приложения в одном месте и делать такие вещи явными. Но нет смысла удваивать эту логику, поэтому, если вам нужно сохранить эти триггеры в базе данных, не добавляйте их в сущности (но вы должны упомянуть триггеры в JavaDoc).

+0

Идеальный смысл. Благодаря! – user623941