Open In App

Spring Boot – Integrating Hibernate and JPA

Improve
Improve
Like Article
Like
Save
Share
Report

Spring Boot is built on the top of the spring and contains all the features of spring. And is becoming a favorite of developers these days because of its rapid production-ready environment which enables the developers to directly focus on the logic instead of struggling with the configuration and setup. Spring Boot is a microservice-based framework and making a production-ready application in it takes very little time.

In this article we learn:

  • What are JPA and Hibernate?
  • How does JPA Work?
  • How to integrate the SpringBoot project with Hibernate and JPA.

JPA(Java Persistence API): JPA is like a bridge between the Spring application Models and the relational database that is used for managing and accessing the data between the Object-Oriented models of the Spring application and the database. In simple terms, we have to define all methods for inserting the records in the MySQL table if we don’t use the JPA. JPA doesn’t perform any kind of specific operations it provides various types of methods without implementation, just like an interface that contains various methods like counting the records, deleting the specific record. etc.

Hibernate is a java framework and ORM (Object Relation Mapping)  tool that is used to provide the implementation of the JPA methods.

How does JPA Work?

JPA is an abstraction that is used to map the java object with the database. It contains different structures of the methods that are used for manipulating the table record and also provides the SQL queries for specific operations.

How to Integrate the SpringBoot project with Hibernate and JPA

Step By Step Implementation

  1. Go to Spring Initializr
  2. Fill in the details as per the requirements
  3. Click on Generate which will download the starter project
  4. Extract the zip file

Create a project using the spring initializer.

pom.xml file:

XML




<?xml version="1.0" encoding="UTF-8"?>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>SpringBootApp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringBootApp</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
  
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
  
</project>


Extract the zip file. Now open a suitable IDE and then go to File -> New -> Project from existing sources -> Springbootapp and select pom.xml. Click on import changes on prompt and wait for the project to sync.

Note: In the Import Project for Maven window, make sure you choose the same version of JDK which you selected while creating the project.

For database operation we have to configure the Spring application with the database also it is required to add configuration of the database before executing the Spring project. If we try to run the Spring application that contains JPA dependency with adding the configuration of the database it causes an error. Running the project without database configuration:

Run the SpringBootAppApplication:

Configuring the Spring application with the database:

application.properties file:

spring.datasource.url=jdbc:mysql://localhost:3306/user
spring.datasource.username=root
spring.datasource.password=Aayush
spring.jpa.hibernate.ddl-auto=update 

 Now run the Spring Boot application after configuration these properties: 



Last Updated : 03 Jan, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads