国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Error creating bean with name 'sessionFactory' defined in file

2019-11-08 02:57:10
字體:
供稿:網(wǎng)友

在hibernate和sPRing整合時,出現(xiàn)錯誤如下:

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [G:/workspace/s_hibernate/src/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Error applying BeanValidation relational constraintsat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)at org.test.Test.main(Test.java:16)Caused by: org.hibernate.HibernateException: Error applying BeanValidation relational constraintsat 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 org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:189)at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:350)at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:335)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)... 12 moreCaused by: java.lang.reflect.InvocationTargetExceptionat sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:208)... 21 moreCaused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactoryat org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:524)at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:119)... 26 moreCaused by: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:110)at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:521)... 27 more

經(jīng)過一番查找,終于解決了這個錯誤,原因出現(xiàn)在applicationContext.xml配置中:

<beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  <propertyname="dataSource"ref="dataSource" /> <propertyname="hibernateProperties">   <props>        <prop key="hibernate.show_sql">true</prop>       <prop key="hibernate.format_sql">true</prop>       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>       <prop key="javax.persistence.validation.mode">none</prop>    </props>  </property>  <propertyname="packagesToScan"value="com.bolo.examples.entity.*"/> </bean>

 <prop key="javax.persistence.validation.mode">none</prop>   

加入粗體加下劃線部分就沒有問題了

真是不同的版本差異比較大啊

其實這個問題是我們自己造成的!為什么這么說?因為我們在配置spring和Hibernate進行結合的時候版本出現(xiàn)了問題。

<persistence...>   <persistence-unit...>   ...   <properties>    <property name="javax.persistence.validation.mode"               value="callback,ddl"/>   </properties> </persistence-unit></persistence>

這是hibernate官方文檔的一段話!

意思就是在hibernate.cfg.xml或者是

persistence.xml文件下面需要配置

javax.persistence.validation.mode屬性!

特別的!在Hibernate中默認的

<propkey="javax.persistence.validation.mode">none</prop>

是auto而不是none!

 

------------------------------------------------------------------------------------------------------------------------------------------

 

javax.persistence.validation.mode默認情況下是auto的,就是說如果不設置的話它是會自動去你的classpath下面找一個bean-validation**包,但是找不到,所以beanvalitionFactory錯誤。

由于javax.persistence.validation.mode的屬性值默認是auto,所以會出錯。

 

在hibernate.cfg.xml里將javax.persistence.validation.mode設置為none,就可以避免出錯了。

 

  <!-- Disable the BeanValidation-->

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

------------------------------------------------------------------------------------------------------------------------------------------

 

 

所以,Hibernate3.6以上版本在用junit測試時會提示錯誤:

 

Unable to get thedefault Bean Validationfactory

 

 

 

在hibernate.cfg.xml里增加一屬性解決:   

 

 

 

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


上一篇:重排序

下一篇:492. Construct the Rectangle

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 普定县| 荔浦县| 惠东县| 临泉县| 玉山县| 天祝| 宣武区| 读书| 平和县| 扎鲁特旗| 澄江县| 莱西市| 桃江县| 兴安县| 临沭县| 济阳县| 徐水县| 吉木乃县| 吉安县| 明光市| 德令哈市| 济阳县| 梁平县| 虎林市| 綦江县| 大厂| 平湖市| 明溪县| 张家界市| 同心县| 武鸣县| 黎平县| 香格里拉县| 墨竹工卡县| 浮山县| 洱源县| 明水县| 长岛县| 汕头市| 广汉市| 溆浦县|