我的项目中的查询要么使用@Query,要么使用QueryDSL。但是,当我面对DISTINCT ON和动态过滤器时,我很难制定一个查询。我很难在QueryDSL中构建类似的东西。SELECT DISTINCT ON (name) * WHERE <my filtered booleanBuilder>
ORDER BY name, version_number
我希望使用sql和spring将以下JPA查询转换为JPA查询: WHERE firstname = 'john' AND lastname但是如何在querydsl中添加DISTINCT、GROUP BY、ORDER BY COUNT和LIMIT语句?解决方案:不可能直接使用CrudRepository,但使用com.querydsl.jpa.impl.JPAQuery仍然很容易,如下所示:
当我通过此查询计算date中的不同年份时
List count = queryFactory.select(qTestEntity.createdDate.year().countDistinct())org.hibernate.hql.internal.ast.QuerySyntaxException: expecting CLOSE, found '(' near line 1, column 27 [select count(distinct(AbstractJPAQuery.java:101) ~[querydsl</em