DEV Community

Cover image for Learn Spring Data JPA, Part - 1
seshubabubatchu
seshubabubatchu

Posted on

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

Top comments (0)