У меня есть следующиеSpring Data - Spring Repository: выбор различных значений для атрибута класса
@Entity
public class Restaurant{
@ManyToOne
private City c;
// more
}
@Entity
public class City{
private String name;
// more
}
Я также есть хранилище
public interface RestaurantRepository extends JPARepository<Restaurant, Long> {
// something to put here
}
=== EDIT ==== У меня есть список ВСЕХ городов, но только некоторые из них связаны с ресторанами.
Мне нужно написать метод в таком репозитории, чтобы извлечь все города, на которые ссылается ресторан.
В SQL я бы просто сделать следующее:
SELECT CITY.id, CITY.name FROM CITY WHERE ID NOT IN (SELECT DISTINCT(city_id) FROM RESTAURANT)
Есть ли способ, чтобы получить тот же результат, используя соглашения имя как в http://docs.spring.io/spring-data/jpa/docs/1.4.3.RELEASE/reference/html/jpa.repositories.html?
Спасибо.
Ресторан, в имеет отношения к ** ** один город в соответствии с вашим отображением поэтому ваш вопрос не имеет смысла. –
Я обновил свой вопрос, чтобы уточнить. У меня есть список ВСЕХ городов. У меня есть рестораны, приезжающие только из некоторых городов. Я хотел бы знать, в каких городах нет ресторанов. Поэтому я хочу извлечь все отдельные города из таблицы ресторанов. В sql я бы просто написал «SELECT distinct (city_id) из ресторана». Чтобы извлечь полную запись города, я бы просто присоединился к таблице города. Последнее, что я хочу получить: список всех городов, для которых не было ресторанов. – Manu