How do you turn off bean validation with Hibernate 3.x in a JPA 1.0 environment?
I tried several things with persistence.xml:
<persistence-unit name="bbstats" transaction-type="RESOURCE_LOCAL">
<properties>
DB stuff
<property name="javax.persistence.validation.mode" value="none" />
<property name="hibernate.validator.autoregister_listeners" value="false" />
</properties>
<validation-mode>NONE</validation-mode>
</persistence-unit>
The last one causing
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'validation-mode'. One of '{"http://java.sun.com/xml/ns/persistence":jta-data-source, "http://java.sun.com/xml/ns/persistence":non-jta-data-source, "http://java.sun.com/xml/ns/persistence":mapping-file, "http://java.sun.com/xml/ns/persistence":jar-file, "http://java.sun.com/xml/ns/persistence":class, "http://java.sun.com/xml/ns/persistence":exclude-unlisted-classes, "http://java.sun.com/xml/ns/persistence":properties}' is expected.
But nothing of the above work. Can anyone tell me how to do it on a JPA 1.0 implementation?
Hibernate Validator allows to express and validate application constraints. The default metadata source are annotations, with the ability to override and extend through the use of XML. It is not tied to a specific application tier or programming model and is available for both server and client application programming.
The Javax bean validation API provides the following most frequently used annotations. The Hibernate validator provides the following commonly used annotations for validation. In case of product or project development we must use both the annotations for bean validation.
Data validation is a common task that occurs in all layers of an application, including persistence. The Java™ Persistence API (JPA) 2.0 provides support for the Bean Validation API so that data validation can be done at run time.
Validating constraintsValidator instances are thread-safe and may be reused multiple times.
The javax.persistence.validation.mode
property is one of the standardized property from JPA 2.0. It wouldn't expect it to work in a JPA 1.0 environment.
Actually, assuming you're using Hibernate Validator 4, my suggestion would be to remove the JAR from the class path (I'm not sure the configuration settings from Hibernate Validator 3 still apply).
And if you are using Hibernate Validator 3, the following should disable the support of constraints inside the generated DDL and entity validation before an insert or updated:
<property name="hibernate.validator.apply_to_ddl" value="false"/>
<property name="hibernate.validator.autoregister_listeners" value="false"/>
But removing the JAR from the class path would also be straight forward.
If you're facing a more specific problem, please provide more specific details (including the version of Hibernate Validator).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With