例如,如何将以下JPQL查询转换为QueryDSL?

SELECT p
FROM F f
JOIN f.p p
WHERE index(p)=0


其中F.pList<P>类型。

最佳答案

您必须在ListPath中使用get()方法来实现index()函数。

举例来说,这是一个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类型

关于java - JPQL`index()`函数的QueryDSL等效项是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34158664/

10-12 02:13