Spring Data Repositories
Spring Data repositories, CrudRepository vs JpaRepository, truy vấn tùy chỉnh, @EntityGraph, projection
1Sự khác biệt chính giữa JpaRepository và CrudRepository là gì?
Sự khác biệt chính giữa JpaRepository và CrudRepository là gì?
Câu trả lời
JpaRepository kế thừa cả CrudRepository và PagingAndSortingRepository, bổ sung các phương thức đặc thù của JPA như flush(), saveAndFlush() và deleteInBatch(). CrudRepository chỉ cung cấp các thao tác CRUD cơ bản (save, findById, delete). Sử dụng JpaRepository cho phép truy cập tất cả các tính năng JPA nâng cao mà không cần kết hợp nhiều interface.
2Vai trò của PagingAndSortingRepository trong hệ thống phân cấp repository là gì?
Vai trò của PagingAndSortingRepository trong hệ thống phân cấp repository là gì?
Câu trả lời
PagingAndSortingRepository kế thừa CrudRepository bằng cách bổ sung các phương thức findAll(Pageable) và findAll(Sort) cho phân trang và sắp xếp. Điều này cho phép truy xuất dữ liệu theo trang với Page/Slice và sắp xếp kết quả. JpaRepository kế thừa interface này, do đó cung cấp phân trang, sắp xếp và các tính năng đặc thù của JPA trong một interface duy nhất.
3Hệ thống phân cấp đúng của các interface repository Spring Data là gì?
Hệ thống phân cấp đúng của các interface repository Spring Data là gì?
Câu trả lời
Hệ thống phân cấp đúng là Repository (cơ sở) → CrudRepository (CRUD) → PagingAndSortingRepository (phân trang/sắp xếp) → JpaRepository (đặc thù JPA). Mỗi cấp độ bổ sung tính năng: CrudRepository thêm save/delete, PagingAndSortingRepository thêm phân trang/sắp xếp, và JpaRepository thêm flush/batch. Kiến trúc này cho phép chọn cấp độ tính năng cần thiết.
Phương thức JpaRepository nào cho phép đồng bộ hóa ngay lập tức các thay đổi với cơ sở dữ liệu?
Trong trường hợp nào nên ưu tiên CrudRepository hơn JpaRepository?
+22 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Spring Boot khác
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging với SLF4J và Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Xử lý ngoại lệ
Bean Validation
Kiến thức cơ bản về Spring Data JPA
Thực thể JPA & Quan hệ
Truy vấn JPA
Cơ bản về Spring Security
Spring Boot Actuator
Kiểm thử đơn vị với JUnit & Mockito
Kiểm thử Spring Boot
Profiles và Environment
RestTemplate và WebClient
Async và Scheduling
Caching với Spring
Spring WebFlux (Reactive)
Giao dịch Spring
Xác thực và phân quyền nâng cao
JWT & Bảo mật Stateless
OAuth2 & Authorization Server
Spring Boot và Docker
Microservices với Spring
Spring Cloud Config
Tối ưu hóa hiệu năng
GraalVM Native Images
Nắm vững Spring Boot cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí