JPA - Найти идентификаторы из списка, который не существует в таблице - PullRequest
0 голосов
/ 04 мая 2020

У меня есть сущность следующим образом:

@Entity
@Data //lombok
public class Instrument {

   @Id
   private Long id;

   private int referenceId;

}

Мне нужно иметь возможность определить по динамическому c набору referenceId с, что referenceId с отсутствует в таблице инструментов. Например, если пользователь передает: 4,5,6, а в таблице инструментов 1,2,3,4,6,8, запрос должен вернуть 5.

Я знаю, как это сделать с stati c набор referenceId s с использованием SQL, например, в этом сообщении :

select t.referenceId
from (
  values (4),(5),(6) 
) as t(referenceId)
  left join instrument i on i.referenceId = t.referenceId
where i.referenceId is null;

Как это можно сделать с помощью JPQL (или с помощью Spring Data JPA) ? Если это невозможно, как это можно сделать с помощью собственного запроса?

...