2015-02-17 2 views
2

У меня есть объект LOCATION и он содержит COUNTRY, STATE и CITY. И у меня есть интерфейс LocationRepository, который определен как:Spring Data JPA: найти вложенный объект

public interface SpringDataLocationRepository extends LocationRepository, 
     Repository<Location, Integer> { 
} 

Я хочу найти все страны. Я могу следовать стандарту имени метода, чтобы запросить все для объекта LOCATION. Если мне нужен список, мне нужно создать интерфейс StateRepository и запросить там все о ГОСУДАРСТВЕ? Если я могу просто получить его из LocationRepository, как выглядит метод? Я предполагаю, что это будет выглядеть примерно так (конечно, это не работает).

Список findStateByCountryCountryId (Integer id) выбрасывает DataAccessException;

ответ

3

Ниже метод должен работать:

List<Location> findByCountryId(Integer id) 

Тогда вы можете получить состояние из Location объектов в списке.

PS: Конечно, это не проверено/выполнено мной.

+1

этот родственный вопрос/ответ более подробно объясняет эту ситуацию - http://stackoverflow.com/questions/24441411/spring-data-jpa-find-by-embedded-object-property – chrismarx

Смежные вопросы