1
我有一個查詢,我一直試圖變成CriteraQuery,但我沒有得到如何編碼查詢的「IN」項。需要幫助編碼CriteriaQuery「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語法轉義我的直覺。任何幫助?
這是一個很好的答案,所以我將其標記。最後我使用了一個Map集合和一個MapJoin來做到這一點,所以不需要明確的子語句。 – AlanObject