Я работаю с Spring Data JPA, и у меня есть следующие объекты: Страна: {country_id, country_name} Регион: {region_id, region_name, country_id}
Существует много взаимосвязей между страной и регионом.
У меня есть JpaRepository for Country, и у меня есть метод, подобный следующему:
@Query("SELECT new org.example.CountryDTO(a.countryId, a.countryName, b.regionName ) FROM Country AS a left join Region AS lpd on a. countryId = r. countryId WHERE a. countryId = LOWER(:country) and r.regionName= LOWER(:region) ”)
List<CountryDTO> find(@Param("country") String country, @Param("region") String region);
Вопрос в том, есть ли способ избежать необходимости указывать запрос SQL?В идеале я хотел бы сделать что-то вроде:
List<CountryDTO> findByCountryAndRegionName(@Param("country") String country, @Param("region") String region);
Однако это кажется немного сложным, потому что столбец region_name взят из таблицы Region.
Кто-нибудь сделал что-нибудь подобное?Любое изящное решение, которое вы можете предложить?
Любая помощь будет принята с благодарностью!