Spring REST API & Data JPA
28/46
Bài 28 / 46~4 phútJPA FundamentalsLộ trình · chặng 16/21Miễn phí… lượt xem

Tổng Kết Module 04: Nền Tảng JPA và Ánh Xạ Thực Thể

Hệ thống hóa kiến thức ORM impedance mismatch, EntityManager, chiến lược sinh khóa @Id, ánh xạ @Enumerated, @Embeddable và an toàn equals/hashCode.

Bạn vừa hoàn thành Module 04 về nền tảng JPA & kỹ thuật ánh xạ entity nâng cao trong Spring Boot. Dưới đây là bảng tổng hợp các khái niệm then chốt và danh sách tự đánh giá năng lực.

Cheat sheet

Khái niệmNguyên lý kỹ thuật cốt lõiBài học
ORM 3 TầngJPA (đặc tả) → Hibernate (triển khai) → Spring Data JPA (tiện ích proxy tự động).01, 02
Persistence ContextFirst-Level Cache duy trì identity guarantee, gom lệnh hoãn phát SQL và tự động dirty checking.02
POJO ContractBắt buộc no-arg constructor, class non-final, field mutable. Java record chỉ dùng cho DTO.03
Chiến Lược @IdIDENTITY (chặn batch), SEQUENCE (pre-fetch tối ưu batch), UUID v7 (sinh local, giữ trật tự B-tree).03
Ánh Xạ Thuộc TínhSpringPhysicalNamingStrategy tự chuyển camelCase sang snake_case. Luôn dùng EnumType.STRING.04
Value Object@Embeddable gom nhóm dữ liệu hướng đối tượng và lưu inline trong cùng bảng không cần JOIN.04
Entity Equals/HashCodeDùng instanceof tương thích Hibernate proxy, so sánh ID an toàn, trả về hashCode hằng số. Cấm @Data.05

✅ Self-assessment

Bạn đã làm chủ hoàn toàn Module 04 khi tự tin hoàn thành các mục tiêu sau:

  • Explain ORM impedance mismatch và 3 layer (JPA/Hibernate/Spring Data)
  • Implement @Entity đúng yêu cầu + @Id generation strategies
  • Compare @Enumerated STRING vs ORDINAL và @Embeddable value object
  • Design equals/hashCode cho entity null-safe

Liên hệ các module khác

  • Module 05: Repository & Queries: Nâng cấp truy vấn dữ liệu với derived query methods, @Query JPQL/Native, phân trang Pageable và tối ưu Slice.

Module tiếp theo: Repository & Queries

Bài này có giúp bạn hiểu bản chất không?

Bài này đáng gửi cho bạn học cùng?

Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.

Lộ trình Junior Java Backend Developer

Chặng 16/21 · Spring Data JPA — bài 7/20 của chặng

Thảo luận & góp ý

Hỏi đáp về bài này

Bài tiếp theo

Repository & Queries — tổng quan