結論:HibernateとSpring Bootを使うときはバージョンに気を付けよう!!
解決方法
pom.xml
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<!-- この部分を削除<version>6.1.1.Final</version> -->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
POMファイルからHibernateの明示的なバージョン指定を削除し、spring-boot-starter-data-jpaに含まれるバージョンを使用するようにした。
エラー内容
Caused by: java.lang.NoClassDefFoundError: jakarta/persistence/EntityManager
at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter.<init>(HibernateJpaVendorAdapter.java:74)
経緯
spring bootで開発中に jakarta.persistenceパッケージを使用していないのにjakarta/persistence/EntityManagerが見つからないとのエラーが出てしまう。原因
Hibernateがバージョンによってはjakarta.persistence.EntityManagerを使用しているようで、一方Spring Boot 2.7.11のspring-boot-starter-data-jpaの依存関係に含まれるHibernateのバージョンは、javax.persistence.EntityManagerを使用していたためのようだ。