Spring Boot

Spring Data Repositories

Spring Data repositories, CrudRepository vs JpaRepository, truy vấn tùy chỉnh, @EntityGraph, projection

25 câu hỏi phỏng vấn·
Mid-Level
1

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.

2

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.

3

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.

4

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?

5

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

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í