Có thể tạo các kho chỉ đọc bằng cách sử dụng dữ liệu Spring không?Tạo một kho lưu trữ chỉ đọc với SpringData
Tôi có một số thực thể được liên kết với chế độ xem và một số thực thể con mà tôi muốn cung cấp kho lưu trữ với một số phương pháp như findAll()
, findOne()
và một số phương pháp có chú thích @Query
. Tôi muốn tránh cung cấp các phương pháp như save(…)
và delete(…)
vì chúng không có ý nghĩa và có thể tạo ra lỗi.
public interface ContactRepository extends JpaRepository<ContactModel, Integer>, JpaSpecificationExecutor<ContactModel> {
List<ContactModel> findContactByAddress_CityModel_Id(Integer cityId);
List<ContactModel> findContactByAddress_CityModel_Region_Id(Integer regionId);
// ... methods using @Query
// no need to save/flush/delete
}
Cảm ơn!
Có một điều khó khăn. Nếu tôi đang sử dụng cơ sở dữ liệu trong bộ nhớ như HSQL để kiểm tra tích hợp, tôi có thể sử dụng phương thức lưu của dạng xem để tạo dữ liệu thử nghiệm thay vì tạo mối quan hệ giữa các đối tượng của nó và điền chúng. Vì vậy, trong trường hợp này, tôi sẽ cần phương thức lưu của chế độ xem chỉ để thử nghiệm chứ không phải cho mã sản xuất. Có cách nào để đạt được nó? – DBS