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 🎉🥳🎉

spring Article's
30 articles in total
Favicon
Launched a Web version of my Project using Java Spring Framework, Spring Boot Web
Favicon
Developing a project using Java Spring Framework, JSON, JPA and PostgreSQL
Favicon
Волшебные скоупы: Как Spring организует работу бинов
Favicon
Quando usar ResponseEntity?
Favicon
What is load balancing and how to do it on client side
Favicon
Capturing and Testing Logs in Java with SLF4J and Logback: A Simple Guide
Favicon
Can you find the Output of this Java Code
Favicon
Ways to Speed Up Spring Boot Application Startup Time
Favicon
Apache wicket with spring boot example application: notice board
Favicon
Handling the "Forwarded" Header in Spring Boot Applications
Favicon
About UriComponentsBuilder and UriComponents
Favicon
Spring Boot: About @SpringBootApplication
Favicon
Spring Security: CSRF protection
Favicon
ISBN Stacks — A look at a possible Spring Application implementation without annotations
Favicon
spring profiles dev production
Favicon
Learn Spring Data JPA, Part - 1
Favicon
Methods for Efficient Large File Processing in Spring Boot
Favicon
Hexagonal Architecture — A Favorite Lyrics Spring Boot — Java Example
Favicon
Validation in Spring REST Framework (SRF)
Favicon
spring
Favicon
Spring Security: Redirect to login page if access pages which is for authorized user only
Favicon
Lambda vs. Named Functions: Choosing the Right Tool for the Job
Favicon
Techniques for Mastering Spring Interceptors: Detailed Guide with Examples
Favicon
Techniques for Using @NoRepositoryBean in Spring Data JPA: A Comprehensive Guide
Favicon
Understanding the Spring Framework: A Developer’s Journey to Clean Code 🚀
Favicon
@PreConstruct and @PostConstruct annotation Spring Boot Example
Favicon
Java’s Functional Programming: the OOP influence
Favicon
🧪 Тестирование с TestRestTemplate и MockMvc: миссия "Котики против багов" 🐞
Favicon
spring boot
Favicon
Reasons to Use WireMock for Testing REST APIs in Spring Boot Applications

Featured ones: