Spring Boot: Spring Data JPA репозитории
Репозитории Spring Data JPA - это интерфейсы, которые вы можете определить для доступа к данным. Запросы JPA создаются автоматически из имен ваших методов. Например, интерфейс CityRepository может объявить метод findAllByState(String state), чтобы найти все города (city) в данном штате (state).
Для более сложных запросов вы можете аннотировать ваш метод аннотацией Query в Spring Data.
Хранилища Spring Data обычно берутся из интерфейсов Repository или CrudRepository. Если вы используете автоконфигурацию, поиск в репозиториях происходит из пакета, содержащего ваш основной класс конфигурации (тот, который аннотирован @EnableAutoConfiguration или @SpringBootApplication).
В следующем примере показано типичное определение интерфейса хранилища Spring Data:
package com.example.myapp.domain;
import org.springframework.data.domain.*;
import org.springframework.data.repository.*;
public interface CityRepository extends Repository<City, Long> {
Page<City> findAll(Pageable pageable);
City findByNameAndStateAllIgnoringCase(String name, String state);
}
Репозитории Spring Data JPA поддерживают три различных режима начальной загрузки: по умолчанию, отложенный и ленивый. Чтобы включить отложенную или ленивую загрузку, установите для свойства spring.data.jpa.repositories.bootstrap-mode соответственно значение deferred или lazy. При использовании отложенной или ленивой начальной загрузки автоматически настроенный EntityManagerFactoryBuilder будет использовать контекст AsyncTaskExecutor, если он есть, в качестве исполнителя начальной загрузки. Если существует более одного, будет использоваться приложение с именем applicationTaskExecutor.
Читайте также:
- Spring Boot: работа с SQL базами данных
- Spring Boot и базы данных: использование JdbcTemplate
- Spring Boot: JPA и Spring Data JPA
Комментарии
Отправить комментарий