使用Hibernate 3.6.0.Final在保存/更新时禁用Hibernate验证

ege*_*ari 12 validation hibernate

我刚刚开始升级使用Hibernate 3.5.6.Final到3.6.0.Final的应用程序,并且已经有几个hickup.我找不到解决方案的最后一个hickup.

3.6.0.Final似乎在通过Hibernate保存/更新对象时自动启用bean验证.这是非常糟糕的,因为我的一些测试不打扰设置所有属性 - 它们只是不需要.老实说,我没有看到设置每个'description'字段和无数其他字段只是为了遵守一些任意验证.

这将迫使我花费数小时在我的所有测试中制作有效的对象(我现在有超过1300个功能测试).坦率地说,这将毫无意义,因为我确信所有验证都在MVC中进行,并且目前还没有其他方法可以将数据导入数据库.

我也不希望通过两次验证我的bean来实现性能损失 - 一次在MVC中,然后在Hibernate中另一次.在我的情况下,这是不需要的.

有没有办法让我关掉它?我使用Spring和常规的Hibernate映射文件,而不是JPA(我不喜欢所有的注释).

axt*_*avt 23

将以下内容添加到persistence.xml:

<validation-mode>NONE</validation-mode>
Run Code Online (Sandbox Code Playgroud)

或者将属性添加到hibernate.cfg.xml:

<property name="javax.persistence.validation.mode">none</property>
Run Code Online (Sandbox Code Playgroud)

23.1.2.配置更多选项.