私はクラスを持っていCountry
ますCity
:
Country
クラスには次のプロパティがあります。
@OneToMany(mappedBy = "country")
private Set<City> cities;
private boolean enabled;
次に、特定の都市を含む国とともに、有効なすべての国を検索する必要があります。
これじゃない:
findDistinctByEnabledOrCitiesNotNull(boolean enabled)
この場合、都市を含むすべての無効な国と一緒に有効な国を見つけるからです。
次のようなものが必要です:
findByEnabledOrCitiesContaining(boolean enabled, City city)
出来ますか?
SQL は次のようになります。
select country.id, country.name, country.enabled from country
left join city on city.countryid = country.id
where country.enabled = 1 or city.id = 1