я пытаюсь сделать namedQuery:NamedQuery выберите первый в списке
@NamedQuery(name = "Interval.findByMemoryType",
query = "select i from Interval i JOIN i.intervalDatas id "
+ "where id.fragments.memoryType = :memoryType")
Моя проблема в том, что фрагменты список фрагмента. Меня интересует только тип памяти первого элемента в списке.
Так что я должен что-то вроде этого:
@NamedQuery(name = "Interval.findByMemoryType",
query = "select i from Interval i JOIN i.intervalDatas id "
+ "(select first(id.fragments)) as fid) where fid.memoryType = :memoryType")
Но я всегда «Запрос содержит некорректное окончание» проблему.
Может ли кто-нибудь мне помочь?
Нет функции «первой» JPA, о которой я знаю, и назначение подзапроса должно проходить в части выбора запроса, а не в соединении. Поскольку соединение не является детерминированным, я не знаю, какое значение имеет проверка только первого фрагмента в списке фрагментов. Разве вам не нужен какой-либо интервал, который ссылается на фрагмент с определенным типом памяти? – Chris