У меня есть запрос, который я пытался превратить в CriteraQuery, но я не понимаю, как закодировать термин «IN» в запросе.
Запрос JPA, который работает, выглядит следующим образом:
@NamedQuery(name = "User.fromSearchID",
query = "SELECT q FROM User q,"
+ " IN (q.data) AS s WHERE s.data LIKE :search"
+ " ORDER BY q.id")
И сущность, над которой он работает, выглядит так:
@Entity
public class User {
@Id private Integer id;
@OneToMany private List<UserData> data;
... }
И ссылка на объект является
@Entity
public class UserData {
@Id private Long id;
private String key;
private String data;
... }
Предполагаемый результат (NamedQuery работает) состоит в том, чтобы извлечь все сущности пользователя, которые имеют некоторое совпадение в своем списке атрибутов данных. По какой-то причине синтаксис CriteraQuery ускользает от моей интуиции. Любая помощь?