Category: Spring Updated: Jul 25, 2026

Complete Guide to Spring Data JPA CRUD Operations for Java Beginners

Spring Data JPA CRUD Tutorial: Insert, Update, and Delete
Spring Data JPA CRUD Tutorial: Insert, Update, and Delete

Learn Through a Conversation Between a Teacher and a Student

Student

"How can I save or update data in a database using Spring Boot?"

Teacher

"In Spring Boot, you can use Spring Data JPA to easily perform database operations like insert, update, and delete."

Student

"Do I need to write SQL queries?"

Teacher

"No, Spring Data JPA allows you to handle most operations without writing SQL."

Student

"That sounds convenient. Can I learn the basic operations?"

Teacher

"Of course. Let’s learn how to register, update, and delete data step by step!"

1. What is Spring Data JPA?

Key Takeaway: Let's dive into the core concepts of "1. What is Spring Data JPA?" cleanly and effectively.

1. What is Spring Data JPA?
1. What is Spring Data JPA?

Spring Data JPA is a powerful framework that simplifies database operations in Java applications. It allows Java beginners to interact with databases without writing complex SQL queries.

In a typical Java Spring Boot application, you use Entity classes to represent database tables and Repository interfaces to handle data access. This approach is part of Java programming basics and is widely used in modern development.

2. Creating an Entity Class

2. Creating an Entity Class
2. Creating an Entity Class

To use Spring Data JPA, you first need to define an Entity class that maps to a database table.


import jakarta.persistence.Entity;
import jakarta.persistence.Id;

@Entity
public class User {

    @Id
    private Long id;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

This class represents a table in the database. Each field corresponds to a column.

3. Creating a Repository Interface

3. Creating a Repository Interface
3. Creating a Repository Interface

Next, create a repository interface to handle database operations.


import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

By extending JpaRepository, you automatically get methods for insert, update, delete, and select operations.

4. Insert Data (Save)

Key Takeaway: Let's dive into the core concepts of "4. Insert Data (Save)" cleanly and effectively.

4. Insert Data (Save)
4. Insert Data (Save)

To insert data into the database, you use the save method. This is one of the easiest ways to store data.


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @PostMapping("/user")
    public String createUser() {
        User user = new User();
        user.setId(1L);
        user.setName("John");
        userRepository.save(user);
        return "User saved";
    }
}

User saved

The save method is used for both insert and update operations in Spring Data JPA.

5. Update Data

5. Update Data
5. Update Data

Updating data is very similar to inserting data. If the ID already exists, the data will be updated.


@PostMapping("/user/update")
public String updateUser() {
    User user = new User();
    user.setId(1L);
    user.setName("Mike");
    userRepository.save(user);
    return "User updated";
}

User updated

Spring Data JPA automatically detects whether the record exists and performs the correct operation.

6. Delete Data

6. Delete Data
6. Delete Data

To delete data, you can use the deleteById method provided by JpaRepository.


@PostMapping("/user/delete")
public String deleteUser() {
    userRepository.deleteById(1L);
    return "User deleted";
}

User deleted

This method removes the data from the database using the specified ID.

7. Key Points of CRUD Operations

Key Takeaway: Let's dive into the core concepts of "7. Key Points of CRUD Operations" cleanly and effectively.

7. Key Points of CRUD Operations
7. Key Points of CRUD Operations

CRUD stands for Create, Read, Update, and Delete. These are the basic operations in any database application.

  • Create: save method
  • Read: findById or findAll
  • Update: save method
  • Delete: deleteById method

8. Best Practices for Beginners

8. Best Practices for Beginners
8. Best Practices for Beginners

When using Spring Data JPA, keep these best practices in mind:

  • Use Entity classes to map tables
  • Use Repository interfaces for database operations
  • Avoid writing unnecessary SQL
  • Test CRUD operations carefully

Following these practices will help you build scalable and maintainable Java applications.

Summary

Summary
Summary

Spring Data JPA is one of the most important tools for Java beginners who want to build real-world applications using Spring Boot. It simplifies database operations such as insert, update, and delete, allowing developers to focus on business logic instead of writing complex SQL queries. By using Entity classes and Repository interfaces, you can perform CRUD operations efficiently while following modern Java programming basics and best practices.

One of the key features of Spring Data JPA is the save method, which handles both insert and update operations. If the entity does not exist in the database, it will be inserted. If it already exists, it will be updated. This dual behavior makes development faster and reduces the amount of code needed, especially for beginners learning a Java tutorial for beginners.

The deleteById method provides a simple way to remove data from the database using an identifier. Combined with methods like findById and findAll, Spring Data JPA covers all essential CRUD operations needed in most applications. These built-in methods help developers build scalable and maintainable systems without unnecessary complexity.

Another important point is the separation of responsibilities. In a well-designed Spring Boot application, controllers handle requests, services manage business logic, and repositories handle database access. This layered architecture improves readability, maintainability, and testability, which are critical for professional development.

For Java beginners, mastering Spring Data JPA CRUD operations is a major step toward building full-stack applications. It provides a solid foundation for working with databases and understanding how modern backend systems are designed. With consistent practice, developers can quickly move from simple examples to real-world projects.

Additional Sample Program


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ProductController {

    @Autowired
    private ProductRepository productRepository;

    @PostMapping("/product/save")
    public String saveProduct() {
        Product product = new Product();
        product.setId(1L);
        product.setName("Book");
        productRepository.save(product);
        return "Product saved";
    }
}

This example demonstrates how to insert data into the database using the save method in Spring Data JPA.


Product saved

@PostMapping("/product/delete")
public String deleteProduct() {
    productRepository.deleteById(1L);
    return "Product deleted";
}

This example shows how to delete data using the deleteById method. It is one of the simplest ways to remove records in a Spring Boot application.


Product deleted
Review Conversation Between the Teacher and Student

Student

"I understand the basics, but when should I use save for update?"

Teacher

"You use save for both insert and update. If the ID already exists, it updates the data."

Student

"So I don’t need a separate update method?"

Teacher

"Exactly. That’s one of the advantages of Spring Data JPA."

Student

"What about deleting data?"

Teacher

"You can use deleteById. It’s simple and efficient for removing records."

Student

"This makes database operations much easier than writing SQL."

Teacher

"That’s right. It helps you focus on building features instead of managing database queries."

Back to Category
Latest Articles
New1
Spring
Spring Boot and Java Version Compatibility Guide: Spring Boot 3.5 3.4 3.3 with Java 21 and Java 17
New
New2
Spring
Complete Guide to Spring Data JPA getReferenceById for Beginners
New
New3
Spring
Complete Guide to Spring Data JPA findAll for Beginners
New
New4
Spring
Spring Data JPA JpaRepository Tutorial for Beginners: Complete Guide to Database Access in Spring Boot
New
Popular Articles
No.1
Java&Spring記事人気No1
Spring
Complete Guide to Spring @GeneratedValue for Java Beginners – Understand Primary Key Generation in JPA
No.2
Java&Spring記事人気No2
Spring
Complete Guide to Spring @PreAuthorize for Java Beginners – Secure Your Application with Method-Level Security
No.3
Java&Spring記事人気No3
Spring
Spring Boot GetMapping Tutorial: Complete Guide to GetMapping in Java for Beginners
No.4
Java&Spring記事人気No4
Spring
Spring @Valid Annotation Tutorial for Beginners: Input Validation in Spring Boot
No.5
Java&Spring記事人気No5
Spring
Mastering the @PostMapping Annotation in Java Spring: A Complete Guide for Beginners
No.6
Java&Spring記事人気No6
Spring
Spring Data JPA Like Query Guide: findByFirstnameLike for Java Beginners
No.7
Java&Spring記事人気No7
Spring
Mastering the @Id Annotation in Java Spring: A Complete Guide for Beginners
No.8
Java&Spring記事人気No8
Spring
Spring Data JPA Query Tutorial for Beginners: How to Search Data in Spring Boot