我有一个SQL:
SELECT
t.name,
sum(t.value)
FROM
myTable t
WHERE
-- conditions...
GROUP BY
t.name
HAVING sum(t.value) >= 100
select count(*) from (
-- QUERY1
) as countQuery
JPASubQuery subQuery = new JPASubQuery(query1.getMetadata());
new JPAQuery().from(subquery).count();
这将是一个很好的功能。
好吧,由于JPA的限制,这是不可能的:
https://github.com/querydsl/querydsl/issues/1471
我将QueryDSL与jpa一起使用,我想查找日期范围之间的记录,如下所示 但between仅支持布尔表达式和字符串表达式
嗨, 我还尝试使用com.querydsl.core.types.dsl.expressions和com.querydsl.core.types.predicate,如下所示: 但我得到了一个无效的运算符和错误。 怎么会这样呢?
使用Spring Data nad Querydsl,我们可以只声明存储库接口并跳过实现类。一些具有特定名称或使用@Query注释的方法,仅此而已。 但是有时我想使用JPAQuery并自己定义方法的主体,比方说 null
您可以看到,子查询中没有使用协议实体路径a1的别名,而是被协议实体路径A2的别名所取代。在querydsl中还需要做一些其他的事情才能生成这个查询吗?
我使用下面的maven pom。xml文件,无法生成querydsl文件。 我发现了一个问题:Kotlin Kapt注释处理器不能与maven一起工作 我想从kotlin实体类生成jpa querydsl文件。 网上有一个很好的例子,说明如何使用 https://github.com/JetBrains/kotlin-examples/blob/master/gradle/kotlin-query
我正在尝试使用QueryDSL计算平均日期差异。 我还尝试了其他方法,例如使用,但它没有返回正确的值。如果我们想要获得以秒为单位的日期差异,我们似乎需要找到一些方法来调用数据库特定的日期/时间差函数,而不仅仅是使用减号。 遗憾的是,在JPQL中计算日期差异似乎是不可能的,所以我想querydsl-jpa在这方面也有限制。因此,我们必须编写一个本机SQL查询,或者找到一些黑客来让QueryDSL生成