spring-data-jpa 将Hibernate 6.x与Sping Boot 2.7.x配合使用时不起作用?

qybjjes1  于 2022-11-10  发布在  Spring
关注(0)|答案(1)|浏览(214)

我正在尝试将Hibernate Core 6.x与Sping Boot / Spring Data JPA 2.7.x项目一起使用,但它无法获取Hibernate 6.x类。
正如您在pom中所看到的,在spring-boot-starter-data-jpa中,我已经排除了hibernate-core 5.6.10-final,并添加了6.x作为项目依赖项。
但我看到下面的错误:


***************************

APPLICATION FAILED TO START

***************************

Description:

A component required a bean of type 'javax.persistence.EntityManagerFactory' that could not be found.

Action:

Consider defining a bean of type 'javax.persistence.EntityManagerFactory' in your configuration.

我不认为Spring Boot 是自动配置新的Hibernate 6.x版本。
对于5.6.x,我可以看到下面的11个EntityManager实现。

在迁移到6.x时,我只看到一个实现。

这是怎么回事,我不知道。有人能帮忙解决这个问题吗?
为什么我想要6.x -〉看看RIGHT JOIN是否能在6.x中工作。甚至其他方面,我认为这将是一个很好的任务,找出并使这个组合工作。

mbjcgjjk

mbjcgjjk1#

Hibernate 6使用JPA版本(JPA 3),该版本使用JakartaEE 9中引入的jakarta.persistence包名称。Sping Boot 仍然使用JakartaEE 8和更早版本(JPA 2.2和更早版本)的javax.*包名称空间,因此仅支持Hibernate 5.x(对于Spring Boot 2.7,Hibernate 5.6.x是默认值)。
您将需要等待Sping Boot 3(它将切换到JakartaEE 9+的jakarta.*包),然后才能使用Hibernate 6。在此之前,您将需要使用Hibernate 5.6。

相关问题