Я конвертирую проект в JPA2.0 с внедрением hibernate и JSF2.0. В старом проекте есть некоторые аннотации, такие как @Length (min = 3) и @NotNull, которые импортируются из org.hibernate.validator.Length; и org.hibernate.validator.NotNull;различные валидации в JPA
В новом проекте у меня есть два варианта. Первый выбор, я все еще могу использовать @Length (min = 3), но с небольшим разным импортом из org.hibernate.validator.constraints. ; (не работает со старым импортом из org.hibernate.validator.Length). второй вариант, я могу преобразовать их в @Size (min = 3) и @NotNull и использовать импорт javax.validation.constraints.;
может кто-то сказать мне о тезисах различной валидация (@Length @Size @NotNull) из этих импортированных файлов org.hibernate.validator. * org.hibernate.validator.constraints. ; javax.validation.constraints.;
Я смущаю, какой из них принадлежит к реализации и версии, и какой из них я должен использовать для этого.
Спасибо за ваш ответ, как я понять, что JPA и beans validation являются спецификациями, а проверка Hibernate и Hibernate является эталонной реализацией. для меня все еще остается неясная часть, когда я использую javax.validation.constraints, которые ссылаются на реализацию, это значит? как насчет org.hibernate.validator (эта ссылочная реализация). если вторая является реализацией спящего режима, которая является первой? – Yashar
JPA - спецификация в области настойчивости. Hibernate ORM - это одна реализация, но не эталонная реализация (которая является EclipseLink). Проверка бина - это спецификация в области проверки, причем Hibernate Validator является эталонной реализацией. Пакет 'javax.validation.constraints' и его типы определяются спецификацией проверки Bean, в то время как соответствующие средства проверки ограничений предоставляются реализацией, такой как Hibernate Validator. Отвечает ли это на ваш вопрос? – Gunnar