您的位置:首页 > 其它

异常解决—org.hibernate.HibernateException: Unable to get the default Bean Validation factory

2017-02-11 01:01 761 查看
org.hibernate.HibernateException: Unable to get the default Bean Validation factory

at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:127)
at org.hibernate.cfg.Configuration.applyBeanValidationConstraintsOnDDL(Configuration.java:1704)
at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.java:1654)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1445)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1856)
at com.pb.util.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:15)
at com.pb.base.dao.impl.BaseDaoImpl.getSession(BaseDaoImpl.java:27)
at com.pb.base.dao.impl.BaseDaoImpl.findByHql(BaseDaoImpl.java:165)
at com.pb.web.action.Test.main(Test.java:13)

Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:118)
... 8 more

Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:383)
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:109)
... 13 more

Caused 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:380)
... 14 more

Caused by: java.lang.NullPointerException
at java.util.ResourceBundle.getBundle(Unknown Source)
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)
... 16 more

建立SessionFactory错误org.hibernate.HibernateException: Unable to get the default Bean Validation factory

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class com.pb.util.HibernateSessionFactory
at com.pb.base.dao.impl.BaseDaoImpl.closeSession(BaseDaoImpl.java:30)
at com.pb.base.dao.impl.BaseDaoImpl.findByHql(BaseDaoImpl.java:172)

at com.pb.web.action.Test.main(Test.java:13)

以前出现过这个错误,上网科普了下,发现只要给hibernate.cfg.xml全局配置文件加入:

<property name="javax.persistence.validation.mode">none</property>就能解决该异常,

原因:

javax.persistence.validation.mode默认情况是auto状态,也就是说如果不设置为none的话,会自动的去classpath下面找一个bean-validation**的包

,如果没有导入hibernate-validator相关的两个jar包(官网有下载),就会报错,所以要在配置文件里面加入

<property
name="javax.persistence.validation.mode">none</property>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate
相关文章推荐