'sessionFactory' or 'hibernateTemplate' is required & Error applying BeanValidation relational cons

均为按MyEclipse学心中心中Hebernate&Sping章节中按步骤来出现的异常


Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistenceLayer' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'UserDAO' while setting bean property 'userDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'UserDAO' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)

参见:

http://lfw.iteye.com/blog/225139

http://hi.baidu.com/backupblog/item/af41f1086af0ec24a0312df8


因为UserDAO继承HibernateDaoSupport

spring在初始化容器的时候会对这个对象作一个check

HibernateDaoSupport源码中的checkDaoConfig()方法:

protected final void checkDaoConfig() {     
        if (this.hibernateTemplate == null) {     
            throw new IllegalArgumentException("'sessionFactory' or 'hibernateTemplate' is required");     
        }     
    } 

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

信息: Hibernate Validator bean-validator-3.0-JBoss-4.0.2
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistenceLayer' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'UserDAO' while setting bean property 'userDAO';
nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'UserDAO' defined in class path resource [applicationContext.xml]: 
Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: 
Invocation of init method failed;
nested exception is org.hibernate.HibernateException: Error applying BeanValidation relational constraints
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
	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)

参见:

http://stackoverflow.com/questions/10883736/how-to-deal-with-error-applying-beanvalidation-relational-constraints


Try add to hibernate config in Spring validation.mode - none:

<bean id="sessionFactory"
      class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            ....
            <prop key="javax.persistence.validation.mode">none</prop>
        </props>
    </property>
</bean>







你可能感兴趣的:('sessionFactory' or 'hibernateTemplate' is required & Error applying BeanValidation relational cons)