Как правильно получить значения в отношении OneToMany на основе поля «многие»? - PullRequest
0 голосов
/ 10 мая 2018

Допустим, у меня есть сущность

Ресторан

с полем:

 @OneToMany(mappedBy = "restaurant", fetch = FetchType.LAZY)
 private Set<MenuEntry> menu;

Объект MenuEntry имеет следующее поле:

@Column(name = "date_time_created", nullable = false)
private LocalDate dateCreated;

, которая, очевидно, представляет дату создания записи.

Мне нужно написать JPQL-запрос, который дал бы мне Ресторан, где набор меню включает записи с указанным dateCreated.

Я написал метод со следующими аннотациями:

@EntityGraph(attributePaths = {"menu"}, type = EntityGraph.EntityGraphType.LOAD)

@Query("SELECT r FROM Restaurant r WHERE r.id=:restaurantId AND  r.menu 
IN (SELECT m FROM MenuEntry m WHERE m.dateCreated=:dateCreated)")

Но когда я пытаюсь выполнить этот запрос, у меня возникает исключение "искаженная числовая константа". Не могли бы вы объяснить, как правильно получить значения в моей ситуации? Спасибо!

1 Ответ

0 голосов
/ 10 мая 2018

Выберите r из ресторана.

Попробуйте это ... Это будет работать ... Нет необходимости использовать внутренний запрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...