如何使用旧版本的hibernate运行Spring启动

时间:2017-12-30 05:42:31

标签: java spring jpa spring-boot spring-data-jpa

我正在使用spring boot 1.5创建一个全新的项目,带有一个依赖实体模块(2012年创建)。

实体模块使用旧版本的hibernate(3.3.2),我不能 修改实体模块。

实体模块使用以下注释,该注释使用Hibernate5删除(默认为spring boot 1.5)

CollectionOfElements
MapKey
@ForeignKey
@IndexColumn

我知道我们可以在春季启动时使用不同版本的罐子,我试过重写但它没有工作

任何帮助或指南都会受到高度评价,非常感谢

<!-- HIBERNATE OLDER VERSION COMPATIBILITY -->
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-annotations -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.4.0.GA</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>3.1.0.GA</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate -->
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.3.2.GA</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>3.3.2.GA</version>
        </dependency>

1 个答案:

答案 0 :(得分:1)

您应该使用属性来覆盖依赖项版本,但是不能保证给定版本的Spring Boot能够与其中一个依赖项的旧版本一起使用。

Here,您可以看到Spring Boot 1.5.9的依赖项版本属性列表:

<properties>
    <!-- Dependency versions -->
    <activemq.version>5.14.5</activemq.version>
    <antlr2.version>2.7.7</antlr2.version>
    <appengine-sdk.version>1.9.59</appengine-sdk.version>
    <artemis.version>1.5.5</artemis.version>
    <aspectj.version>1.8.13</aspectj.version>
    <assertj.version>2.6.0</assertj.version>
    <atomikos.version>3.9.3</atomikos.version>
    <bitronix.version>2.1.4</bitronix.version>
    <caffeine.version>2.3.5</caffeine.version>
    <cassandra-driver.version>3.1.4</cassandra-driver.version>
    <classmate.version>1.3.4</classmate.version>
    <commons-beanutils.version>1.9.3</commons-beanutils.version>
    <commons-collections.version>3.2.2</commons-collections.version>
    <commons-codec.version>1.10</commons-codec.version>
    ...

对于Hibernate,你可以使用类似的东西来覆盖它的版本:

<properties>
    <hibernate.version>3.3.2.GA</hibernate.version>
    <hibernate-validator.version>3.1.0.GA</hibernate-validator.version>
</properties>