Yashwanth Potu
Yashwanth Potu

Reputation: 344

Does Spring Data JPA internally use Hibernate & why my app is working if I am not giving dialect property?

I just started learning Spring Data JPA, I connected to mysql in localhost and able to save a record but I am unable to understand why it is working if I am not giving dialect property in properties file and is hibernate a default implementation of spring data instead of ibatis or Eclispe link, because in my pom.xml I just added the dependency of spring-data-jpa and never mentioned what kind of JPA implementation I want to use.

application.properties

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

Upvotes: 3

Views: 1042

Answers (1)

Jens Schauder
Jens Schauder

Reputation: 81930

Since you have an application.properties I assume you are using Spring Boot and not just Spring Data JPA.

In order to use JPA with Spring Boot you would typically add spring-boot-starter-data-jpa to your dependencies. This indeed comes with Hibernate out of the box as you can see when you inspect the dependencies.

Spring Data JPA itself doesn't come with a JPA implementation. You have to add that.

iBatis is not a JPA implementation.

If the assumption above doesn't match your scenario you can use the maven dependency plugin to inspect your (transient) dependencies. The following is a good starting point.

mvn dependency:tree -Dverbose

If you use a different build tool, it probably has a similar feature.

Upvotes: 1

Related Questions