Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Master Spring Data JPA with Hibernate: E-Commerce Project

Thành thạo Spring Data JPA với Hibernate: Dự án Thương mại Điện tử

Thành thạo Spring Data JPA với Hibernate: Dự án Thương mại Điện tử

Tìm hiểu các tính năng của Spring Data JPA và Xây dựng quan hệ Mô hình Miền cho Dự án Thương mại Điện tử sử dụng Hibernate ORM

4.5
(567 đánh giá)
4,057 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
19.5 giờ video
179 bài giảng
8 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Học cách sử dụng Spring Data JPA trong ứng dụng Spring Boot
Xây dựng quan hệ Mô hình Miền cho Dự án Thương mại Điện tử sử dụng Framework Hibernate ORM
Học cách sử dụng các Annotation JPA để tạo Entity và ánh xạ với bảng cơ sở dữ liệu
Tìm hiểu 4 chiến lược sinh khóa chính - AUTO, IDENTITY, SEQUENCE và TABLE
Học cách sử dụng thư viện Lombok để giảm mã lặp (boilerplate code)
Tìm hiểu các Interface Repository của Spring Data JPA và hệ thống phân cấp của chúng
Các bước sử dụng Repository của Spring Data JPA
Tìm hiểu các phương thức Repository quan trọng trong Spring Data JPA (Các thao tác CRUD)
Học cách tạo Query Methods hoặc Finder Methods bằng cách sử dụng tên phương thức
Học cách tạo JPQL và Native SQL Queries bằng Annotation @Query
Học cách tạo JPQL và Native SQL Queries với Named Queries
Học cách triển khai Phân trang và Sắp xếp bằng Spring Data JPA
Học JPA/Hibernate One to One Mapping bằng Spring Data JPA
Học JPA/Hibernate One to Many Mapping bằng Spring Data JPA
Học JPA/Hibernate Many to Many Mapping bằng Spring Data JPA
Tìm hiểu JPA Cascade Types và Fetch Types (EAGER và LAZY)
Học cách triển khai chức năng Tìm kiếm/Lọc
Quản lý Giao dịch với Spring Data JPA và Spring Boot
Kiểm thử đơn vị (Unit Testing) Spring Data JPA Repository bằng annotation @DataJpaTest

Yêu cầu

Java
Nên biết kiến thức cơ bản về Spring Boot
Hiểu biết cơ bản về JPA và Hibernate
Hiểu biết cơ bản về SQL

Đối tượng phù hợp

Dành cho bất kỳ ai muốn học các tính năng của Spring Data JPA sử dụng Hibernate và áp dụng vào ứng dụng Spring Boot
Bất kỳ lập trình viên Java nào cũng có thể tham gia khóa học này để học mọi thứ về Spring Data JPA nhằm giảm mã lặp trong ứng dụng Spring Boot.
Khóa học này rất hữu ích cho những ai đã hoàn thành hai khóa học phổ biến khác của tôi (Xây dựng REST API Thời gian Thực với Spring Boot và Kiểm thử Ứng dụng Spring Boot với JUnit và Mockito).

Nội dung khóa học

20 phần • 178 bài giảng
1 Giới thiệu Khóa học
2 Cách nhận trợ giúp
3 Các khóa học Udemy hàng đầu và bán chạy nhất khác của tôi - Đừng bỏ lỡ
4 Tải mã nguồn và tệp PDF (Ghi chú bài học)
5 Cập nhật về việc sử dụng Spring Boot 3
1 Hướng dẫn thiết lập Môi trường Phát triển
2 Cài đặt Java JDK 18 trên Windows 10
3 Cài đặt IntelliJ IDEA trên Windows 10 - Phiên bản IntelliJ Community (MIỄN PHÍ)
4 Cài đặt và Thiết lập Spring Tool Suite 4 (STS) trên Windows 10 - Dành cho người dùng STS
5 Cài đặt Lombok trong IDE Eclipse STS (Spring Tool Suite) - Dành cho người dùng STS
6 Cài đặt MySQL Server 8 và MySQL Workbench trên Windows 10
1 Giới thiệu về SQL
2 Cài đặt MySQL Server và MySQL Workbench trên Windows 11
3 Kết nối, Tạo, Hiển thị, Sử dụng, Xóa Cơ sở dữ liệu
4 Tạo bảng SQL (CREATE Table)
5 Sửa đổi bảng SQL (ALTER TABLE)
6 Câu lệnh INSERT trong SQL
7 Câu lệnh SELECT trong SQL
8 Câu lệnh UPDATE trong SQL
9 Câu lệnh DELETE trong SQL
10 Câu lệnh TRUNCATE TABLE trong SQL
11 Mệnh đề WHERE trong SQL
12 Mệnh đề ORDER BY trong SQL
13 Mệnh đề GROUP BY trong SQL
14 Mệnh đề HAVING trong SQL
15 Các toán tử logic trong SQL
16 Toán tử IN trong SQL
17 Toán tử BETWEEN trong SQL
18 Toán tử LIKE trong SQL
19 Toán tử UNION trong SQL
20 Hàm tổng hợp COUNT trong SQL
21 Hàm tổng hợp SUM trong SQL
22 Hàm tổng hợp AVG trong SQL
23 Hàm tổng hợp MIN trong SQL
24 Hàm tổng hợp MAX trong SQL
1 ORM là gì?
2 JPA là gì?
3 Hibernate là gì?
4 JPA vs Hibernate
5 Spring Data JPA là gì?
6 Luồng cơ bản của Spring Data JPA
7 Hibernate vs Spring Data JPA
1 Sử dụng Spring Boot 3 và Java 17+
2 Tạo và thiết lập Dự án Spring Boot trong IntelliJ IDEA
3 Tìm hiểu Dependency Spring Boot Starter Data JPA
4 Kết nối Ứng dụng Spring Boot với Cơ sở dữ liệu MySQL
5 Tạo Product Entity với @Entity và @Id
6 Sử dụng các Annotation JPA - @Table, @Column, @GeneratedValue và @UniqueConstraint
7 Các chiến lược sinh khóa chính - AUTO, IDENTITY, SEQUENCE và TABLE
8 Thêm các annotation Hibernate - @CreationTimestamp và @UpdateTimestamp
9 Sử dụng thư viện Lombok để giảm mã lặp
10 Tải mã nguồn của phần này
1 Tìm hiểu các Interface Repository của Spring Data JPA và hệ thống phân cấp
2 Câu hỏi thường gặp về SimpleJpaRepository
3 Giải nén (Decompile) thư viện Spring Data JPA để hiểu các Interface Repository
4 Các bước tạo Repository Spring Data JPA - ProductRepository
5 Tải mã nguồn của phần này
1 Tổng quan về các phương thức Repository của Spring Data JPA
2 save() - Lưu một Entity vào bảng cơ sở dữ liệu
3 save() - Cập nhật một Entity vào bảng cơ sở dữ liệu
4 findById() - Truy xuất một Entity từ cơ sở dữ liệu
5 saveAll() - Lưu nhiều Entity vào bảng cơ sở dữ liệu
6 findAll() - Truy xuất tất cả các Entity từ bảng cơ sở dữ liệu
7 deleteById() - Xóa một Entity từ cơ sở dữ liệu
8 delete() - Xóa một Entity từ bảng cơ sở dữ liệu
9 deleteAll() - Xóa tất cả các Entity từ bảng cơ sở dữ liệu
10 count() - Lấy số lượng bản ghi trong bảng cơ sở dữ liệu
11 existsById() - Kiểm tra xem Entity có tồn tại với ID đã cho trong bảng cơ sở dữ liệu không
12 Tải mã nguồn của phần này
1 Tổng quan về chiến lược tạo Query Methods từ tên phương thức
2 Cách thức tạo Query từ tên phương thức hoạt động như thế nào
3 Tìm hiểu quy tắc và các từ khóa được hỗ trợ để tạo Query Methods
4 Query Method Spring Data JPA - Tìm theo tên trường đơn
5 Query Method Spring Data JPA - Tìm theo nhiều tên trường
6 Query Method Spring Data JPA - Tìm theo Distinct
7 Query Method Spring Data JPA - Tìm theo GreaterThan
8 Query Method Spring Data JPA - Tìm theo LessThan
9 Query Method Spring Data JPA - Tìm theo Containing
10 Query Method Spring Data JPA - Tìm theo Like
11 Query Method Spring Data JPA - Tìm theo Between (Ví dụ khoảng giá)
12 Query Method Spring Data JPA - Tìm theo Between (Ví dụ khoảng ngày)
13 Query Method Spring Data JPA - Tìm theo In
14 Query Method Spring Data JPA - Giới hạn kết quả truy vấn
15 Tải mã nguồn của phần này
1 Tìm hiểu Annotation @Query
2 Tạo JPQL Query với tham số chỉ mục (Index Parameters) bằng @Query
3 Tạo JPQL Query với tham số được đặt tên (Named Parameters) bằng @Query
4 Tạo Native SQL Query với tham số chỉ mục bằng @Query
5 Tạo Native SQL Query với tham số được đặt tên bằng @Query
6 Tải mã nguồn của phần này
1 Tạo Named JPQL Query bằng Annotation @NamedQuery
2 Tạo nhiều Named JPQL Queries bằng Annotation @NamedQueries
3 Tạo Named SQL Query bằng Annotation @NamedNativeQuery
4 Tạo nhiều Named SQL Queries bằng Annotation @NamedNativeQueries
5 Tải mã nguồn của phần này
1 Tìm hiểu Phân trang và Sắp xếp trong Spring Data JPA
2 Spring Data JPA - Triển khai Phân trang
3 Spring Data JPA - Triển khai Sắp xếp
4 Spring Data JPA - Triển khai Sắp xếp với nhiều trường
5 Spring Data JPA - Triển khai Phân trang và Sắp xếp cùng lúc
6 Tải mã nguồn của phần này
1 Tổng quan về Ánh xạ Một-Một
2 Tổng quan về Ánh xạ Một-Một Đơn hướng
3 Tạo Order và Address Entities
4 Thiết lập Ánh xạ Một-Một Đơn hướng
5 Tạo OrderRepository và AddressRepository
6 Tìm hiểu JPA Cascade Types
7 Kiểm thử Ánh xạ Một-Một Đơn hướng (Các thao tác CRUD)
8 Ánh xạ Một-Một Song hướng
9 Thiết lập Ánh xạ Một-Một Song hướng
10 Kiểm thử Ánh xạ Một-Một Song hướng (Các thao tác CRUD)
11 Tải mã nguồn của phần này
1 Tổng quan về Ánh xạ Một-Nhiều
2 Tổng quan về Ánh xạ Một-Nhiều Đơn hướng
3 Tạo OrderItem Entity và thiết lập Ánh xạ Một-Nhiều Đơn hướng
4 Fetch Types - Eager vs Lazy
5 Kiểm thử Ánh xạ Một-Nhiều Đơn hướng (Các thao tác CRUD) - Phần 1
6 Kiểm thử Ánh xạ Một-Nhiều Đơn hướng (Các thao tác CRUD) - Phần 2
7 Tổng quan về Ánh xạ Một-Nhiều Song hướng
8 Ánh xạ Một-Nhiều Song hướng giữa Order và OrderItem
9 Tải mã nguồn của phần này
1 Ánh xạ Một-Nhiều giữa Product và ProductCategory
2 Kiểm thử Ánh xạ Một-Nhiều (Thao tác Lưu)
3 Minh họa FetchType.Lazy
4 Tải mã nguồn của phần này
1 Tổng quan về Ánh xạ Nhiều-Nhiều
2 Tổng quan về Ánh xạ Nhiều-Nhiều Đơn hướng
3 Tạo User và Role Entities
4 Thiết lập Ánh xạ Nhiều-Nhiều Đơn hướng giữa User và Role
5 Tạo UserRepository và RoleRepository
6 Kiểm thử Ánh xạ Nhiều-Nhiều Đơn hướng (Các thao tác CRUD)
7 Tổng quan về Ánh xạ Nhiều-Nhiều Song hướng
8 Thiết lập Ánh xạ Nhiều-Nhiều Song hướng giữa User và Role
9 Kiểm thử Ánh xạ Nhiều-Nhiều Song hướng
10 Tải mã nguồn của phần này
1 Tạo Dự án Spring Boot
2 Cấu hình Cơ sở dữ liệu MySQL
3 Tạo Product JPA Entity
4 Tạo Interface ProductRepository
5 Tạo JPQL và Native SQL queries cho Search REST API
6 Tạo Lớp Service
7 Xây dựng Search REST API và Kiểm thử bằng Postman
8 Tải mã nguồn của phần này
1 Giới thiệu Module - Bạn sẽ học gì trong phần này?
2 Quản lý Giao dịch với Spring Data JPA
3 Trường hợp sử dụng - Đặt hàng trên website mua sắm thương mại điện tử
4 Tạo và thiết lập Dự án Spring Boot trong IntelliJ
5 Cấu hình Cơ sở dữ liệu MySQL
6 Tạo Order và Payment JPA Entities
7 Tạo các Interface OrderRepository và PaymentRepository
8 Tạo các lớp DTO OrderRequest và OrderResponse
9 Tạo Lớp Service
10 Tạo Place Order REST API và Kiểm thử bằng Postman
11 Xử lý Giao dịch bằng Annotation @Transactional của Spring
12 Tải mã nguồn của phần này
1 Tổng quan về Kiểm thử Đơn vị lớp Repository
2 Annotation @DataJpaTest
3 Tạo và Thiết lập dự án Spring Boot trong IntelliJ IDEA
4 Tìm hiểu Dependency Spring Boot Starter Test
5 Tạo JPA Entity
6 Tạo Spring Data JPA Repository
7 Kiểm thử Đơn vị cho Thao tác Lưu Nhân viên
8 Kiểm thử Đơn vị cho Thao tác Lấy Tất cả Nhân viên
9 Kiểm thử Đơn vị cho Thao tác Lấy Nhân viên theo ID
10 Kiểm thử Đơn vị cho Thao tác Lấy Nhân viên theo Email (Spring Data JPA Query Method)
11 Kiểm thử Đơn vị cho Thao tác Cập nhật Nhân viên
12 Kiểm thử Đơn vị cho Thao tác Xóa Nhân viên
13 Kiểm thử Đơn vị Spring Data JPA Custom Query Method Dùng JPQL Với Tham số Index
14 Kiểm thử Đơn vị Spring Data JPA Custom Query Method Dùng JPQL Với Tham số Tên
15 Kiểm thử Đơn vị Spring Data JPA Custom Native Query Với Tham số Index
16 Kiểm thử Đơn vị Spring Data JPA Custom Native Query Với Tham số Tên
17 Tái cấu trúc JUnit Tests Sử dụng Annotation @BeforeEach
18 Tải Mã nguồn của Phần này
1 Câu hỏi và Trả lời Phỏng vấn Hibernate Hàng đầu
2 Câu hỏi và Trả lời Phỏng vấn Spring Data JPA Hàng đầu - Phần 1
3 Câu hỏi và Trả lời Phỏng vấn Spring Data JPA Hàng đầu - Phần 2
4 Câu hỏi và Trả lời Phỏng vấn Spring Data JPA Hàng đầu - Phần 3
1 Các Khóa học Udemy Bán chạy và Được đánh giá cao khác của Tôi

Giới thiệu khóa học

This course supports both Spring Boot 2 and Spring Boot 3.

In this course, you will learn how to use Spring Data JPA and its features to reduce a lot of boilerplate code.


Throughout this course, we will build domain model entities (Product, ProductCategory, Order, OrderItems, User, Roles) and repositories for a simple e-commerce application.


Problem:

In typical three-layer Spring boot application architecture, we create three layers - Controller, Service, and DAO/Repository layer.

If we use JPA/Hibernate and then write a lot of coding while implementing DAO/Repository layer - We repeat the same code again and again so what will be the solution to reduce the boilerplate code?

Solution:

Spring Data JPA provides a solution to reduce a lot of boilerplate code.

We can use Spring Data JPA to reduce the amount of boilerplate code required to implement the data access object (DAO) layer.

Spring Data JPA is not a JPA provider. It is a library/framework that adds an extra layer of abstraction on top of our JPA provider (like Hibernate). Spring Data JPA uses Hibernate as a default JPA provider.

What you'll learn

  • Learn How to Use Spring Data JPA in the Spring Boot Application

  • Learn How to Use JPA Annotations to Create an Entity and Map to a Database Table

  • Learn 4 Types of Primary key Generation Strategies - AUTO, IDENTITY, SEQUENCE, and TABLE

  • Learn How to Use the Lombok Library to Reduce a Boilerplate Code

  • Learn Spring Data JPA Repository Interfaces and Its Hierarchy

  • Learn Steps to Use Spring Data JPA Repository

  • Learn Important Spring Data JPA Repository Methods (CRUD Operations)

  • Learn How to Create Query Methods or Finder Methods Using Method Names

  • Learn How to Create JPQL and Native SQL Queries Using @Query Annotation

  • Learn How to Create JPQL and Native SQL Queries With Named Queries

  • Learn How to Implement Pagination and Sorting Using Spring Data JPA

  • Learn JPA/Hibernate One-to-One Mapping Using Spring Data JPA

  • Learn JPA/Hibernate One to Many Mapping Using Spring Data JPA

  • Learn JPA/Hibernate Many to Many Mapping Using Spring Data JPA

  • Learn JPA Cascade Types and Fetch Types (EAGER and LAZY)

  • Learn building domain model relationships for e-commerce projects using Hibernate ORM framework

  • Learn to implement Search/Filter functionality

  • Learn Transaction Management with Spring Data JPA and Spring Boot

  • Unit Testing Spring Data JPA Repository using @DataJpaTest annotation


Tools and Technologies used

Technologies:

- Java 11+

- Spring Boot

- Spring Data JPA

- Hibernate

- Lombok

- Maven

- JUnit framework

IDE:

- IntelliJ IDEA

Database:

- MySQL database

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Backend Development
Hiển thị tất cả khoá học Database
Hiển thị tất cả khoá học Java Development
Hiển thị tất cả khoá học Spring Framework
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊