Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何启用Spring验证_Spring_Validation_Bean Validation_Hibernate Validator - Fatal编程技术网

如何启用Spring验证

如何启用Spring验证,spring,validation,bean-validation,hibernate-validator,Spring,Validation,Bean Validation,Hibernate Validator,在将hibernate-validator.jar和javax.validation-api.jar放入我的类路径后,我的旧验证被关闭,org.springframework.dao.DataIntegrityViolationException替换为org.hibernate.exception.ConstraintViolationException,它封装了来自表约束和这引起了很多问题 它自动打开JSR-303验证,因此不再验证任何内容 我必须放这两个罐子才能将Jersey升级到2.4,它

在将hibernate-validator.jar和javax.validation-api.jar放入我的类路径后,我的旧验证被关闭,org.springframework.dao.DataIntegrityViolationException替换为org.hibernate.exception.ConstraintViolationException,它封装了来自表约束和这引起了很多问题

它自动打开JSR-303验证,因此不再验证任何内容

我必须放这两个罐子才能将Jersey升级到2.4,它依赖于这两个罐子

将这些属性放入hibernate.properties文件没有帮助,hibernate只是忽略它们,但它会在启动时加载这些属性

已从资源hibernate.properties加载属性:{hibernate.validator.apply_to_ddl=false,hibernate.validator.autoregister_listeners=false等}

javax.persistence.validation.mode=none
hibernate.validator.autoregister_listeners=false
hibernate.validator.apply_to_ddl=false
我将Spring3.2.4与SessionFactory一起使用,并从hbm.xml文件映射资源,其中包含约束、hibernate 3.6.9.final、hibernate validator 5.0.final、javax.validator-api 1.1.0.final


当我的类路径中有hibernate.validator时,我不知道如何启用spring验证,任何帮助都将不胜感激。

您可以通过在
hibernate.cfg.xml
中将
javax.persistence.validation.mode
设置为
none
(或使用JPA时
persistence.xml
)来禁用Bean验证


只是出于兴趣,您的模型上似乎有约束注释(否则您不应该看到
ConstraintViolationException
,所以我想知道您为什么不想验证它们?

您可以通过在
hibernate.cfg.xml
中将
javax.persistence.Validation.mode
设置为
none
(或者在使用JPA时设置
persistence.xml
)来禁用Bean验证)


只是出于兴趣,您的模型上似乎有约束注释(否则您不应该看到
ConstraintViolationException
,所以我想知道您为什么不想验证它们?

将hibernate validator添加到类路径会关闭hibernate核心验证,所以我必须添加此属性才能将其重新打开

<prop key="hibernate.check_nullability">true</prop>
true

将hibernate validator添加到类路径会关闭hibernate核心验证,因此我必须添加此属性才能将其重新打开

<prop key="hibernate.check_nullability">true</prop>
true

添加javax.persistence.validation.mode=none hibernate.cfg.xml不起作用。我已经用spring验证机制验证了这些约束,将hibernate.validator添加到我的类路径导致了验证问题,它已成为默认的验证程序。感谢您的回答。您能发布一个stacktrace,其中显示
ConstraintViolationException
到底抛出了什么?也许它是Hibernate以外的另一个组件?现在它不会抛出任何异常。我想打开Hibernate验证程序,而不是JSR-303。你知道怎么做吗?我想让它抛出PropertyValueException,多亏了Hibernate验证程序是JSR 303的一个实现(更准确地说,HV 5实现了JSR 349,即Bean验证1.1),因此无法在没有另一个的情况下获得一个。我指的是Hibernate核心验证。目前我无法同时使用这两个(303-349)我需要使用hibernate核心验证。添加javax.persistence.validation.mode=none hibernate.cfg.xml不起作用。我已经用spring验证机制验证了这些约束,将hibernate.validator添加到我的类路径导致了验证问题,它已经成为默认的验证器。谢谢你的回答。你能发布一个stacktrace显示了
ConstraintViolationException
的确切抛出位置?可能是Hibernate以外的另一个组件?现在它不会抛出任何异常。我想打开Hibernate验证器而不是JSR-303。你知道怎么做吗?我想让它抛出PropertyValueException,多亏了Hibernate验证器是JSR的一个实现303(更准确地说,HV 5实现了JSR 349,即Bean Validation 1.1),因此无法在没有另一个的情况下获得一个。我的意思是Hibernate核心验证。目前我不能同时使用这两个(303-349),我需要使用Hibernate核心验证。