Отключение проверки Hibernate при сохранении / обновлении с помощью Hibernate 3.6.0.Final - PullRequest
12 голосов
/ 07 декабря 2010

Я только начал обновлять приложение, которое использовало Hibernate 3.5.6.Final, до 3.6.0.Final, и было несколько проблем.Последний всплеск, для которого я не могу найти решение.

3.6.0. Кажется, что в финале автоматически включается проверка бина, когда объект сохраняется / обновляется через Hibernate.Это очень плохо, потому что некоторые из моих тестов не утруждают себя настройкой всех свойств - они просто не нужны.Честно говоря, я не вижу смысла устанавливать каждое поле «описание» и бесчисленное количество других полей только для того, чтобы соответствовать какой-либо произвольной проверке.

Это заставит меня тратить часы на создание действительных объектов во всех моих тестах(У меня сейчас более 1300 функциональных тестов).И, честно говоря, это было бы бессмысленно, потому что я уверен, что вся проверка происходит в MVC, и в настоящее время нет других способов получить данные в базу данных.

Я также не хочу снижать производительностьпроверяя мои бины дважды - один раз в MVC, а затем в другой раз в Hibernate.Это просто не нужно в моем случае.

Есть ли способ, которым я могу отключить это?Я использую Spring и обычные файлы отображения Hibernate, а не JPA (мне не нравятся все аннотации).

Ответы [ 2 ]

23 голосов
/ 07 декабря 2010

Добавьте следующее к persistence.xml:

<validation-mode>NONE</validation-mode>

или добавьте свойство к hibernate.cfg.xml:

<property name="javax.persistence.validation.mode">none</property>

См. 23.1.2.Конфигурация для дополнительных параметров.

2 голосов
/ 07 декабря 2010

Установите для свойства hibernate.validator.autoregister_listeners значение false. Вы также можете установить hibernate.validator.apply_to_ddl в false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...