使用Jboss6.x并尝试使hibernate spring jndi数据源工作..
我的文件如下所示。
我收到错误:
15:19:11,593 ERROR [ContextLoader] Context initialization failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/hibernate-config.xml]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator.<init>(java.lang.Class, java.util.ResourceBundle, org.hibernate.validator.MessageInterpolator, java.util.Map, org.hibernate.annotations.common.reflection.ReflectionManager)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) [:3.0.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) [:3.0.5.RELEASE]
任何想法??
hibernate-confing.xml ...下面
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE beans PUBLIC "-//SPRING//DTD
> BEAN//EN"
> "http://www.springframework.org/dtd/spring-beans.dtd">
> <beans> <bean
> id="hfTransactionManager"
> class="org.springframework.transaction.jta.JtaTransactionManager"/>
> <bean id="sessionFactory"
> class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
> <property name="dataSource"
> ref="hfdataSource"/>
> <property name="annotatedClasses"> <list>
> <value>com.common.model.User</value>
> </list>
> </property> </bean> <bean id="userDAO"
> class="com.common.dao.impl.UserDAOImpl">
> <property name="sessionFactory" ref="sessionFactory"/> </bean>
> </beans>
applicationContext.xml ...下面
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="applicationContext-security.xml"/>
<!-- JNDI datasource -->
<bean id="hfdataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:MSSQLDS"/>
</bean>
<!-- Hibernate stuff -->
<import resource="hibernate-config.xml"/>
</beans>
答案 0 :(得分:0)
我认为你只是有一些库冲突:Hibernate试图找到以下构造函数:
org.hibernate.validator.ClassValidator(java.lang.Class,
java.util.ResourceBundle,
org.hibernate.validator.MessageInterpolator,
java.util.Map,
org.hibernate.annotations.common.reflection.ReflectionManager)
并且找不到它。确保您使用的休眠验证器版本与您正在使用的其余休眠罐兼容。