1
例如,如何將以下JPQL查詢轉換爲QueryDSL?什麼是JPQL`index()`函數的QueryDSL等價物?
SELECT p
FROM F f
JOIN f.p p
WHERE index(p)=0
其中F.p
是List<P>
類型。
例如,如何將以下JPQL查詢轉換爲QueryDSL?什麼是JPQL`index()`函數的QueryDSL等價物?
SELECT p
FROM F f
JOIN f.p p
WHERE index(p)=0
其中F.p
是List<P>
類型。
你必須使用ListPath的的get()方法它實現了指數()功能。
只是作爲一個例子,這裏是一個JPA查詢(QueryDSL 4.0.6),它得到一個目錄的實體,其第二子類(指數1)給予名稱:
public Catalog findSecondCatalogChildCategoryByName(String Name) {
return new JPAQueryFactory(entityManager)
.selectFrom(catalog)
.where(
catalog.rootCategories.get(1).name.eq(name)
).fetchOne();
}
注意:在這個例子中, rootCategories字段有java.util.List類型
我在https://bugs.launchpad.net/querydsl/+bug/765710看到了一個提案,但可能還沒有實現... – snorbi
其實它已經根據http://bugs.launchpad.net/querydsl/+bug/765710門票在2.2.0-beta4中修復 –