spring - 创建 sessionFactory 时出错

标签 spring hibernate maven spring-mvc

当我开始我的 Spring MVC 项目时,我遇到了以下异常:

javax.servlet.ServletException: Servlet.init() for servlet appServlet threw exception

最重要的是根本原因:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'sessionFactory' defined in ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml]: 
Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError:     
org/hibernate/cfg/EJB3DTDEntityResolver

我查过这个类:http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/cfg/EJB3DTDEntityResolver.html在这里http://search.maven.org/#search%7Cga%7C1%7Cfc%3Aorg.hibernate.cfg.EJB3DTDEntityResolver 我发现它是 hibernate 注释的一部分。但我的 POM.xml 文件中有一些 Hibernate 依赖项:

    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.4.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.5.6-Final</version>
    </dependency>       
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.3.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.common</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>4.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-envers</artifactId>
        <version>4.1.4.Final</version>
    </dependency>

我不知道我的项目出了什么问题。一般来说,当我在 Servlet Dispatcher 中声明此异常时,就会发生此异常:

<!-- Hibernate session factory -->      
<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

    <beans:property name="dataSource">
        <beans:ref bean="dataSource" />
    </beans:property>

    <beans:property name="hibernateProperties">
        <beans:props>
            <beans:prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</beans:prop>
            <beans:prop key="hibernate.show_sql">true</beans:prop>
        </beans:props>
    </beans:property>

    <beans:property name="annotatedClasses">
        <beans:list>
            <beans:value>hutter.pl.dao.Users</beans:value>                          
        </beans:list>
    </beans:property> 
</beans:bean>

<beans:bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <beans:property name="sessionFactory" ref="sessionFactory" />
</beans:bean>   
<!-- Hibernate session factory end -->

你能给我一些建议吗?

最佳答案

hibernate-annotationshibernate-core since 3.6 的一部分

关于spring - 创建 sessionFactory 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373124/

相关文章:

java - 保持 JDO 和低级 API 之间的事务

spring - Spring Boot 和 RestAssured 中的模拟 session

Java/wsdl/jar 类未找到编译问题

java - 在基实体类上实现 hashCode 和 equals(可能使用反射)?

java - 在 spring boot 应用程序中复制依赖项

Java - 使用 java 1.4 编译 src/main/java 并使用 1.5 编译 src/test/java

java - Spring MVC : Several ViewResolvers

java - 部署到 websphere 时在 hibernate 5 上使用 JPA 2.0

java - 有没有可以根据学生成绩计算成绩的第三方免费 Java 库?

java - 为什么 SQLQuery setParameter 不能使用 LIKE?