java - 在 xml 配置文件中找不到类 [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]

标签 java spring hibernate

我正在学习如何在 spring 项目中使用 hibernate 集成 并尝试遵循以下示例:https://www.journaldev.com/3524/spring-hibernate-integration-example-tutorial

本教程有 pom.xml 和其他示例文件,但我使用 start.spring.io 初始化程序来创建 pom.xml > 文件并尝试将我的路径与教程的示例集成。

因此,当我开始创建 context.xml 并创建 bean 时,如教程所示,idea 在中找不到任何类图书馆:

<bean id = "hibernate3AnnotatedSessionFactory"
class = "org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name = "dataSource" ref = "dataSource" />

因此,hibernate3 包对我来说不可用,我将包 hibernate3 更改为 hibernate5,但在这种情况下 annotation 包不可用,并且 AnnotationSessionFactoryBean 类不可用。

<小时/>

问题

我可以在 hibernate 5.v 中使用“AnnotationSessionFactoryBean”吗?或者这个类已经过时了?

<小时/>

pom.xml:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <hibernate-version>5.3.7.Final</hibernate-version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate-version}</version>
    </dependency>

    <!-- for JPA, use hibernate-entitymanager instead of hibernate-core -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate-version}</version>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

上下文.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:tx="http://www.springframework.org/schema/tx"

   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="hibernate5AnnotatedSessionFactory"
      class="org.springframework.orm.hibernate5.... - AnnotatedSessionFactory not avaiilable

最佳答案

我认为您可以使用org.springframework.orm.hibernate5.LocalSessionFactoryBean及其'annotatedClassesannotatedPackagespackagesToScan 属性。

关于java - 在 xml 配置文件中找不到类 [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53211228/

相关文章:

java - 如何向 querydsl 谓词添加比较器?

java - 实现接口(interface)方法时不允许@Override

java - Spring为SQL Server创建数据源时出错

java - Spring使用注解时出错

java - 将 settings.xml 中设置的属性访问到 spring.xml

java - Web 服务和 hibernate - 您如何将这两者结合起来?

java - JPA 或 Hibernate - 在不同类型的列上连接表

hibernate - 自定义嵌入字段的列名

java - 使用 JDL studio 生成值对象(非实体)

java - 我们如何检查对象值是否与 Java 中的基本类型字段兼容