Spring Boot

Truy vấn JPA

Truy vấn JPA: suy ra từ tên phương thức, @Query với JPQL, truy vấn native, phân trang, sắp xếp

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

JPQL là gì?

Câu trả lời

JPQL (Java Persistence Query Language) là một ngôn ngữ hướng đối tượng truy vấn các thực thể JPA thay vì các bảng cơ sở dữ liệu. Khác với SQL native, JPQL sử dụng tên lớp và tên thuộc tính, giúp duy trì sự trừu tượng hóa đối tượng và tạo điều kiện cho khả năng di chuyển giữa các hệ cơ sở dữ liệu khác nhau. Nên dùng JPQL theo mặc định trừ khi cần các tính năng SQL cụ thể.

2

Annotation nào cho phép thực thi một truy vấn JPQL hoặc SQL tùy chỉnh?

Câu trả lời

Annotation @Query cho phép định nghĩa các truy vấn tùy chỉnh trực tiếp trong các repository của Spring Data JPA. Theo mặc định nó có thể chứa JPQL, hoặc SQL native nếu thuộc tính nativeQuery được đặt là true. Annotation này mang lại sự linh hoạt hơn so với các query method suy ra từ tên phương thức, đặc biệt với các truy vấn phức tạp có join hoặc truy vấn con.

3

Làm thế nào để liên kết một tham số phương thức với một @Query?

Câu trả lời

Annotation @Param cho phép đặt tên rõ ràng cho các tham số được sử dụng trong các truy vấn @Query. Cách tiếp cận này dễ đọc và bền vững hơn so với việc dùng vị trí theo chỉ số, đặc biệt khi tái cấu trúc mã. Annotation này là bắt buộc đối với các tham số được đặt tên trong JPQL và được khuyến nghị ngay cả với các truy vấn SQL native để cải thiện khả năng bảo trì.

4

Trong JPQL, mệnh đề nào cho phép lọc kết quả?

5

Sự khác biệt chính giữa JPQL và SQL native là gì?

+27 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í