hibernate3 annotations jndi数据源spring配置 - 错误

时间:2011-03-11 20:41:01

标签: hibernate

使用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>

1 个答案:

答案 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)

并且找不到它。确保您使用的休眠验证器版本与您正在使用的其余休眠罐兼容。