Logo

dev-resources.site

for different kinds of informations.

Learn Spring Data JPA, Part - 1

Published at
12/27/2024
Categories
java
spring
jpa
backend
Author
seshubabubatchu
Categories
4 categories in total
java
open
spring
open
jpa
open
backend
open
Author
15 person written this
seshubabubatchu
open
Learn Spring Data JPA, Part - 1

Project Setup

create a project using https://start.spring.io/ and add the following dependencies

screenshot of start.spring.io with needed dependencies

  • Spring Data JPA - used to interact with relational databases. It simplifies data access and manipulation by leveraging the Java Persistence API (JPA)

  • Postgres SQL Driver - to Interact with the Postgres Database

  • Lombok - It Simplifies the code by using the pre-built annotation

  • Spring web - spring web for building web applications, particularly RESTful APIs.

click on generate and open the folder in any of your favorite editors, we will be using the vs code here

download the PostgreSQL for your respective OS and go through the installation steps, we will get the PGAdmin application on our machine

open the PGAdmin application and create a database with any name you want

image of postgres sql

now navigate to the vs code

we will be renaming the application.properties file to application.yml here

enter the following into the application.yml file

application.yml

  • ddl-auto : here we will have basically 5 options
  1. none: Disables schema generation. Your application will not attempt to create, drop, or validate the schema in any way.

  2. validate: Validates the schema with the database. It checks that the database schema matches the entities defined in your application. If there are discrepancies, an exception is thrown and the application won't start.

  3. update: Updates the database schema. It makes incremental changes to the database schema without dropping existing data. This is useful during development but may not be suitable for production environments as it might not handle complex schema changes gracefully.

  4. create: Creates the schema every time the application starts. All existing data is removed and tables are created from scratch. This option is useful for testing but should be avoided in production.

  5. create-drop: Creates the schema when the application starts and drops the schema when the application stops. This is primarily used for integration tests where the schema needs to be set up and torn down for each test.

  • here we are using the create-drop because since we are learning we will be making many changes so create-drop suits this requirement

  • we are just specifying the URL, which would be our localhost, by default postgress runs on port 5432 so we are using the same port number followed by the database name

  • username and password which we set during the time of installation of postgress in our machines

  • show-sql means we can see the SQL commands that are used in the background in the terminal

make sure to follow the indentation and spaces correctly otherwise, this will not work

if you do not wish to rename the application.properties to application.yml

we can write like this as well

application.properties

This is completely user-specific any approach works here we will be following the application.yml approach here

Now run the Java program

running the java program

We can also run the program by right-clicking on the Java file and selecting Run Java.

If your terminal does not have any errors, congratulations you have configured the initial project setup 🎉🥳🎉

jpa Article's
30 articles in total
Favicon
Learn Spring Data JPA, Part - 1
Favicon
Spring Data JPA: Speed Up Development & Business Focus
Favicon
Unidirectional associations for one-to-many
Favicon
Understanding Database Connection Management in Spring Boot with Hibernate and Spring Data JPA
Favicon
Como eu reduzi em até 99% o tempo de resposta da minha API
Favicon
🐾 Hibernate Zoo: Путеводитель по языкам запросов в мире данных 🐾
Favicon
How To Fetch Data By Using DTO Projection In Spring Data JPA
Favicon
Relationships in JPA: Creating Entities Without Dependency
Favicon
Spring Data JPA Stream Query Methods
Favicon
Differences between JpaRepository and CrudRepository and when you need to chose each
Favicon
Understanding JPA Pessimistic Locking vs. Serializable Isolation in Transactions
Favicon
Uma breve introdução ao Hibernate
Favicon
Connecting Spring Boot Applications to a Database with Spring Data JPA
Favicon
Working with Spring Data JPA: CRUD Operations and Beyond
Favicon
The Importance of Using Interfaces for JpaRepository(Java Persistence API) in Spring Data JPA
Favicon
GitHub Mastery: Creating Repositories and Managing PRs with Ease
Favicon
Spring Boot Common Sense: Part 2 Crafting Effective JPA Entities for Robust Data Models
Favicon
Applying JSON Patch to Entity in a Spring Boot Application: A Practical Guide
Favicon
Entendendo @MappedSuperclass em JPA
Favicon
Como iniciar um aplicativo Spring Boot + JPA + MySQL
Favicon
Understanding JPA Mappings in Spring Boot: One-to-One, One-to-Many, Many-to-One, and Many-to-Many Relationships
Favicon
Configurando o Spring com JPA e Microsoft SQL Server
Favicon
Java Hibernate vs JPA: Rapid review for you
Favicon
Database Integration with Spring Boot : Best Practices and Tools
Favicon
what is JPA? explain few configurations
Favicon
Introducing Stalactite ORM
Favicon
How to deal with N+1 problems with Hibernate
Favicon
Jakarta Persistence API (JPA) example application: Northwind sample database
Favicon
spring JPA entities: cheat sheet
Favicon
Java Hibernate vs JPA: Quick Review

Featured ones: