Repository & Queries
JpaRepository, derived query, @Query, projection, Specification, auditing, pagination (Pageable, OFFSET vs keyset).
Nội dung
Danh sách bài học
- 01~4 phút
Repository & Queries — tổng quan
Module này mổ cách query dữ liệu qua Spring Data: từ derived query, @Query, projection, Specification, tới pagination hiệu năng.
- 02~12 phút
JpaRepository và Derived Queries: Truy Vấn Không Cần Viết Code
Tìm hiểu cây phân cấp JpaRepository, cơ chế phân tích tên method lúc startup thành JPQL và SQL, cùng giới hạn thực tế của derived queries.
- 03~12 phút
@Query, @Modifying và Projection: Tùy Biến Truy Vấn Dữ Liệu
Làm chủ @Query JPQL và Native SQL, tránh bẫy stale entity với @Modifying clearAutomatically và tối ưu hiệu năng đọc bằng DTO constructor projection.
- 04~12 phút
Specification và JPA Auditing: Truy Vấn Động và Nhật Ký
Xây dựng dynamic filter với Specification Criteria API và tự động ghi nhận thời gian createdAt, updatedAt qua cơ chế JPA Auditing.
- 05~12 phút
Pageable và Sort: Phân Trang và Sắp Xếp Dữ Liệu Chuẩn Mực
Làm chủ phân trang Pageable, Sort multi-field, cơ chế sinh 2 câu SQL trong Page, kỹ thuật chặn DoS kích thước trang và projection DTO.
- 06~12 phút
Hiệu Năng Phân Trang: OFFSET vs Keyset Cursor Pagination
Phân tích nguyên nhân suy giảm hiệu năng của OFFSET ở trang sâu, cơ chế B-tree seek của Keyset pagination và kỹ thuật dùng Slice loại bỏ COUNT.
- 07~4 phút
Tổng Kết Module 05: Repository và Kỹ Thuật Truy Vấn
Hệ thống hóa kiến thức JpaRepository, Derived Queries, @Query, DTO Projection, Specification dynamic filter, JPA Auditing và tối ưu hóa phân trang.