Error applying BeanValidation relational constraints错误的解决方案

来源:互联网 发布:final cut por mac 编辑:程序博客网 时间:2024/05/21 22:21

昨天进行hibernate反向工程,完毕后相对生成的东西进行测试,结果一运行

%%%% Error Creating SessionFactory %%%%org.hibernate.HibernateException: Error applying BeanValidation relational constraints at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:219) at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:126) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:306) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1744) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1782) at com.vote.util.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31) at com.vote.test.Test.main(Test.java:10)Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:208) ... 6 moreCaused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:524) at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:119) ... 11 moreCaused by: javax.validation.ValidationException: Unable to instantiate Configuration. at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:272) at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111) at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:521) ... 12 moreCaused by: java.lang.NullPointerException at java.util.ResourceBundle.getBundle(ResourceBundle.java:960) at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.loadBundle(ResourceBundleMessageInterpolator.java:202) at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.getFileBasedResourceBundle(ResourceBundleMessageInterpolator.java:182) at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:81) at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:73) at org.hibernate.validator.engine.ConfigurationImpl.<init>(ConfigurationImpl.java:57) at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:43) at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:269) ... 14 more2013-10-23 9:53:55 org.hibernate.cfg.Configuration configureINFO: HHH000043: Configuring from resource: /hibernate.cfg.xml2013-10-23 9:53:55 org.hibernate.cfg.Configuration getConfigurationInputStreamINFO: HHH000040: Configuration resource: /hibernate.cfg.xml2013-10-23 9:53:55 org.hibernate.cfg.Configuration doConfigureINFO: HHH000041: Configured SessionFactory: null2013-10-23 9:53:55 org.hibernate.cfg.Configuration$MappingsImpl addImportINFO: HHH000071: Duplicate import: com.vote.entity.Subject -> Subject2013-10-23 9:53:55 org.hibernate.cfg.Configuration$MappingsImpl addImportINFO: HHH000071: Duplicate import: com.vote.entity.Subject -> com.vote.entity.Subject%%%% Error Creating SessionFactory %%%%org.hibernate.DuplicateMappingException: Duplicate collection role mapping com.vote.entity.Subject.items at org.hibernate.cfg.Configuration$MappingsImpl.addCollection(Configuration.java:2598) at org.hibernate.cfg.annotations.CollectionBinder.bind(CollectionBinder.java:562) at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1931) at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:768) at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:687) at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3435) at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3389) at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1341) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1731) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1782) at com.vote.util.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:70) at com.vote.util.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53) at com.vote.test.Test.main(Test.java:10)Exception in thread "main" java.lang.NullPointerException at com.vote.test.Test.main(Test.java:25)



解决方案为:

在hibernate.cfg.xml中配置

     <property name="javax.persistence.validation.mode">
   none
  </property>


  javax.persistence.validation.mode默认情况下是auto的,就是说如果不设置的话它是会自动去你的classpath下面找一个bean-validation**包,
  但是找不到,所以beanvalitionFactory错误

原创粉丝点击