我试图在我的项目中使用Hibernate验证器,但它不起作用。在以下行:
SessionFactory sessions = config.buildSessionFactory(builder.build());
我得到以下例外情况:
org.hibernate.cfg.beanvalidation.IntegrationException: Error activating Bean Validation integration
at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:154)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:311)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857)
at net.myProject.server.util.HibernateUtil.<clinit>(HibernateUtil.java:32)
... 36 more
Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider;
at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:119)
at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:45)
at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:217)
at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)
我发现这个问题似乎与我的问题很相似。他将他的解决方案描述为
我想我的问题也是一样的。在http://hibernate.org/validator/documentation/getting-start/it上说:
这会传递地引入对Bean验证API的依赖关系(javax.Validation:validation-api:1.1.0.final)
这一定是导致这个问题的原因,因为恢复到旧版本(4.3.1.final)可以解决这个问题。有没有办法强制Hibernate不拉入Bean验证API?
编辑:我试图排除javax-validation API:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.0.3.Final</version>
<exclusions>
<exclusion>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
但似乎并没有什么效果。
尝试将此依赖项添加到pom.xml中
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
如果不是,请考虑使用Hibernate-Validator4.2.0.final,我的配置中有它,并且它运行良好。
问题内容: 我正在尝试在我的项目中使用Hibernate Validator,但无法正常工作。在下一行: 我得到以下异常: 我发现这个问题似乎与我的问题非常相似。他将自己的解决方案描述为 我在类路径中还有另一个bean验证程序jar。但是不是来自Maven,所以我没有意识到。删除即可解决问题。 我认为我的问题是一样的。在http://hibernate.org/validator/document
环境 Glassfish 3.1.2内置Hibernate-Validator 4.2。
首先,我是Vaadin7的新手。当我发现BeanFieldGroup.class时,我正在尝试一些vaadin演示。正如我所看到的,这个类将一个字段绑定到一个bean属性。在bean中,使用验证约束注释对属性进行注释(JSR303)。在本例中,我的pom.xml包含hibernate验证器依赖项: 我创建了validationmessage.properties文件,并在其中放了一些消息(带有匈牙
我需要应用一个双值验证,这需要与圆周率匹配。我正在考虑使用@pattern(regex=“3.14159265359”)。这是使用Hibernate验证约束应用这样一个约束的最佳方式吗?谢谢
但是,当我执行以下测试时,不会引发验证异常: 当保存一个已经持久化的对象时,我如何使验证器触发器?最好是通过Java配置。 我的验证依赖项:
我知道这在这个论坛上不是新问题,但我很困惑我该怎么做。 问题:我正在用spring mvc+Hibernate开发一个应用程序。对于服务器端验证,我在controller中使用@valid注释,在bean中使用@null和@notnull注释。 例如: 这个验证很好地进行,数据也保存在DB中。 但我想验证唯一约束,引用完整性和其他约束使用注释没有任何验证器类。 有可能吗?如果没有,那么什么是最好和