views:

156

answers:

1

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?

+2  A: 

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).

References

Pascal Thivent
Remove the validation JAR from the classpath... Well, I wished I had had such a subtractive idea before doing all the researching. Big DOH effect. Thanks! Now that I removed the JAR I'm beginning to realize that this didn't help my original attempt to resolve an exception concerning MySQL ENUMs when reading an entity from the DB via the entity manager. Out of ideas again.
Kawu
@Kawu Maybe have a look at http://stackoverflow.com/questions/2160700/enum-in-hibernate-persisting-as-an-enum/2161435#2161435
Pascal Thivent