HSF302 - Phần 4: Truy cập dữ liệu với Spring Data JPA
Danh sách hàng nghìn dòng được trả về từng trang nhờ tham số Pageable, kèm Sort để định thứ tự, và kết quả là một Page biết cả tổng số trang lẫn tổng số phần tử. Tất cả bắt đầu từ một interface kế thừa JpaRepository với kiểu thực thể và kiểu khoá: không viết lớp cài đặt nào, Spring Data tự sinh đối tượng proxy có sẵn save, findById, findAll và deleteById. Truy vấn khó diễn đạt bằng tên được viết thẳng bằng JPQL hoặc SQL gốc trong @Query, tham số gắn bằng @Param, còn câu UPDATE hay DELETE cần thêm @Modifying. Với truy vấn đơn giản, chỉ tên phương thức là đủ: findByEmailAndStatus hay countByCategory được tách thành điều kiện WHERE theo tên thuộc tính của thực thể. Các thực thể mà những truy vấn này đọc ghi được ánh xạ ở Phần 1.
Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.
Luyện tập theo chủ đề này
Câu hỏi của chủ đề
lookupByEmailLikeIgnoreCase(String email)findByEmailContainingIgnoreCase(String email)queryWhereEmailContainsCaseInsensitive(String email)selectEmailContainsIgnoreCase(String email)JpaRepositoryCrudServiceEntityManagerJdbcTemplatesearchByfindBygetWherequeryForpersist()insert()save()update()findAllSortByLastNameAsc()findByOrderLastNameAsc()findByAgeGreaterThanOrderByLastNameAsc(int age)orderByLastNameAscFindAll()List<Entity> findByPropertyOrderByPropertyAsc(String property);do?
Đề có câu hỏi của chủ đề này
5 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.