Не удается найти класс [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean] в файле конфигурации xml - PullRequest
0 голосов
/ 08 ноября 2018

Я учусь использовать hibernate integration в весеннем проекте и пытаюсь следовать примеру ниже: 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 для .


Вопрос

Могу ли я использовать AnnotationSessionFactoryBean в hibernate 5.v, или этот класс уже устарел?


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>

context.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

1 Ответ

0 голосов
/ 15 ноября 2018

Я думаю, вы можете использовать свойства org.springframework.orm.hibernate5.LocalSessionFactoryBean и его свойства annotatedClasses, annotatedPackages или packagesToScan.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...