Возможно ли создание репозиториев только для чтения с использованием Spring Data?Создание репозитория только для чтения с SpringData
У меня есть некоторые объекты, связанные с видом и некоторые дочерние объекты, для которых я хотел бы предоставить репозиторий с некоторыми методами, как findAll()
, findOne()
и некоторыми методами с @Query
аннотацию. Я хотел бы избежать предоставления таких методов, как save(…)
и delete(…)
, поскольку они не имеют смысла и могут создавать ошибки.
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
}
Спасибо!
Есть одна сложная вещь. Если я использую базу данных в памяти, такую как HSQL для тестирования интеграции, я могу использовать метод сохранения представления для создания тестовых данных вместо создания связи между его объектами и их заполнения. Поэтому в этом случае мне понадобится метод сохранения вида только для тестирования, но не для производственного кода. Есть ли способ достичь этого? – DBS