java - Spring MVC + hibernate

标签 java maven spring-mvc hibernate-4.x

我在 Spring 中的 hibernate 配置有问题。 我的项目是一个存储库项目。这是pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>Framework-core-data-oracle</groupId>
<artifactId>Framework-core-data-oracle</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.2.8.Final</version>
    </dependency>
</dependencies>

这是我的 bean 定义:

<bean id="sessionFactory"
      class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
</bean>

<bean id="transactionManager"  class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

这是我的 hibernate 配置 xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
    <property name="hibernate.connection.url">jdbc:oracle:thin:@10.10.10.4:1521:BAGSTORAGE</property>
    <property name="hibernate.connection.username">system</property>
    <property name="hibernate.connection.password">bagstorage!</property>
    <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
    <property name="hibernate.default_schema">BAGSTORAGE</property>
    <property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>

当我尝试 Autowiring SessionFactory 时,出现此错误:

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.orm.hibernate4.LocalSessionFactoryBean] for bean with name 'sessionFactory' defined in ServletContext resource -> nested exception is java.lang.ClassNotFoundException: org.springframework.orm.hibernate4.LocalSessionFactoryBean

我在pom中添加了spring orm,spring mvc版本> 3,所以hibernate 4没有问题。有什么想法吗?

我有这样的情况: 项目A:核心项目,maven中有spring依赖 项目B:Repository项目,其中有核心项目(项目A)、hibernate-core、oracle和spring-orm依赖 项目 C:工作项目,具有 beans 配置以及依赖项中的项目 A 和项目 B

谢谢

最佳答案

您的配置看起来正确,但我发现您依赖于 spring-core 3.1.1 和 spring-orm 4.0.0。 您确实应该调整所有 Spring 模块的版本。请尝试将 spring-core 升级到版本 4.0.0,看看错误是否消失?

关于java - Spring MVC + hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21109502/

相关文章:

java - GET请求参数的字符编码

java - 在 SPRING MVC 中绑定(bind)嵌套对象

java - 类路径中的 ejb3 持久性和 javax 持久性 jar 文件?

java - Maven:没有要编译的资源

java - CompareTo() 和成员指针

java - Eclipse 使用源代码编译 .jar 文件,并且没有 .class 文件

java - 使用 Maven 和 Jetty 将数据从一个 JSP 文件发送到另一个 JSP 文件

java - 从 Controller 转发到静态 html 页面

java - 我应该在哪里放置在 Tomcat 上运行的 servlet、jsp 应用程序的数据文件?

java - 是否有一种标准方法来验证数组中多个项目之间的约束?