# Truy vấn JPA (Spring Boot) > 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 - [Câu hỏi phỏng vấn: Spring Boot](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van.md) ## 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ì. ## Còn 27 câu hỏi nữa - Trong JPQL, mệnh đề nào cho phép lọc kết quả? - Sự khác biệt chính giữa JPQL và SQL native là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Spring Boot khác - [Spring Core - IoC & DI](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-core-ioc-di.md): 22 câu hỏi, Junior - [Spring Boot Auto-Configuration](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-auto-configuration.md): 20 câu hỏi, Junior - [Spring Boot Starters](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-starters.md): 18 câu hỏi, Junior - [Application Properties & YAML](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/application-properties-yml.md): 16 câu hỏi, Junior - [Logging với SLF4J và Logback](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/logging.md): 20 câu hỏi, Junior - [Spring Boot DevTools](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-devtools.md): 15 câu hỏi, Junior - [Spring MVC Basics](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-mvc-basics.md): 20 câu hỏi, Mid-Level - [Spring REST Controllers](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-rest-controllers.md): 20 câu hỏi, Mid-Level - [Request & Response Handling](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/request-response-handling.md): 20 câu hỏi, Mid-Level - [Xử lý ngoại lệ](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/exception-handling.md): 25 câu hỏi, Mid-Level - [Bean Validation](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/bean-validation.md): 25 câu hỏi, Mid-Level - [Kiến thức cơ bản về Spring Data JPA](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-data-jpa-basics.md): 25 câu hỏi, Mid-Level - [Thực thể JPA & Quan hệ](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jpa-entities-relationships.md): 30 câu hỏi, Mid-Level - [Spring Data Repositories](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-data-repositories.md): 25 câu hỏi, Mid-Level - [Cơ bản về Spring Security](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-security-basics.md): 25 câu hỏi, Mid-Level - [Spring Boot Actuator](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-actuator.md): 20 câu hỏi, Mid-Level - [Kiểm thử đơn vị với JUnit & Mockito](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/testing-junit-mockito.md): 30 câu hỏi, Mid-Level - [Kiểm thử Spring Boot](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-testing.md): 30 câu hỏi, Mid-Level - [Profiles và Environment](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/profiles-environment.md): 20 câu hỏi, Mid-Level - [RestTemplate và WebClient](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/resttemplate-webclient.md): 24 câu hỏi, Mid-Level - [Async và Scheduling](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/async-scheduling.md): 25 câu hỏi, Mid-Level - [Caching với Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/caching.md): 25 câu hỏi, Mid-Level - [Spring WebFlux (Reactive)](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-webflux.md): 25 câu hỏi, Mid-Level - [Giao dịch Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/transactions.md): 30 câu hỏi, Senior - [Xác thực và phân quyền nâng cao](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/authentication-authorization.md): 30 câu hỏi, Senior - [JWT & Bảo mật Stateless](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jwt-stateless-security.md): 20 câu hỏi, Senior - [OAuth2 & Authorization Server](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/oauth2-authorization-server.md): 20 câu hỏi, Senior - [Spring Boot và Docker](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-docker.md): 19 câu hỏi, Senior - [Microservices với Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/microservices-basics.md): 25 câu hỏi, Senior - [Spring Cloud Config](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-cloud-config.md): 19 câu hỏi, Senior - [Tối ưu hóa hiệu năng](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/performance-optimization.md): 30 câu hỏi, Senior - [GraalVM Native Images](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/graalvm-native-images.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jpa-queries