我正在使用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>
答案 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>