提问者:小点点

Spring Data JPA 内部是否使用 Hibernate


我刚刚开始学习Spring Data JPA,我在localhost中连接到mysql,并且能够保存记录,但是如果我没有在属性文件中给出方言属性,并且hibernate是Spring Data的默认实现而不是ibatis或Eclispe link,我就无法理解为什么它会工作,因为在我的pom.xml中,我只是添加了spring-data-jpa的依赖关系,而没有提到我想要使用哪种JPA实现。

应用程序.属性

spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.
spring.datasource.url=jdbc:mysql://localhost:3306/initsoftware
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=ppppppp
spring.datasource.password=xxxxxxx
logging.level.root=DEBUG
spring.jpa.show-sql=true

共1个答案

匿名用户

因为您有一个< code > application . properties ,所以我假设您使用的是Spring Boot,而不仅仅是Spring Data JPA。

为了将JPA与Spring Boot一起使用,您通常会将< code > spring-boot-starter-data-JPA 添加到依赖项中。这确实是Hibernate自带的,当您检查依赖项时可以看到这一点。

Spring Data JPA本身没有JPA实现。你必须加上这个。

iBatis 不是 JPA 实现。

如果上面的假设与您的场景不匹配,您可以使用maven依赖插件来检查您的(瞬态)依赖。以下是一个很好的起点。

mvn dependency:tree -Dverbose

如果您使用不同的构建工具,它可能具有类似的功能。