Which annotation is used to define a named query?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "@NamedQuery". Theo JPA, @NamedQuery đặt trên lớp thực thể khai báo một câu JPQL tĩnh có tên qua hai thuộc tính name và query, ví dụ tên Student.findByName; truy vấn được kiểm tra khi khởi động và gọi lại bằng em.createNamedQuery hoặc qua phương thức repository trùng tên. "@Query" là annotation của Spring Data, gắn câu JPQL hoặc SQL trực tiếp lên một phương thức repository; nó có truy vấn nhưng không định nghĩa named query, vì truy vấn đó không có tên dùng chung và chỉ thuộc về đúng phương thức ấy. "@StoredProcedure" không phải annotation của JPA; thủ tục lưu sẵn được khai báo bằng @NamedStoredProcedureQuery. "@NativeQuery" không phải cách định nghĩa named query trong JPA; Spring Data bản mới có annotation này nhưng chỉ là dạng tắt của @Query cho SQL thuần, còn truy vấn SQL thuần có tên dùng @NamedNativeQuery.

Cùng phần 1

Xuất hiện trong 1 bộ đề