我想用QueryDSL表达以下(Oracle)查询:
SELECT * FROM entity WHERE entity.created < (sysdate - entity.delayInDays)
即。我想做日期算术。不幸的是,com.mysema.query.types.path.DateTimePath
(由QEntity.Entity.Created
返回)不包含任何用于加减法的方法,仅用于比较(如before
或>
)。
我找到了com.mysema.query.types.ops.DateTimeOps
,但也没有任何帮助。
是我遗漏了什么,还是QueryDSL不支持日期算术?
你是正确的.目前Querydsl不支持日期算术,但可以为它创建一个问题https://github.com/mysema/Querydsl/issues
我有一张这样的桌子: 如何在QueryDSL中编写一个表达式来查找仍然有效的条目(creationDate validity_Days)?
我有一个实体,它有一个表示上次活动的日期对象。我想查询一下平均空闲时间。因此在SQL中,类似于: 我试着这样算了一下差别: 我如何以日期/时间差(以秒为单位)来表示这个平均值?
我正在尝试使用QueryDSL计算用户年龄和日期差。 但失败时出现此错误 谢谢
我正在尝试使用QueryDSL计算平均日期差异。 我还尝试了其他方法,例如使用,但它没有返回正确的值。如果我们想要获得以秒为单位的日期差异,我们似乎需要找到一些方法来调用数据库特定的日期/时间差函数,而不仅仅是使用减号。 遗憾的是,在JPQL中计算日期差异似乎是不可能的,所以我想querydsl-jpa在这方面也有限制。因此,我们必须编写一个本机SQL查询,或者找到一些黑客来让QueryDSL生成
问题内容: 我想使用HQL从表中获取过期的实体。像这样: 我无法使用HQL做到这一点。我不想做额外的查询,在Java代码中处理日期等等。这必须在HQL级别上完成。 你能帮我么? 问题答案: 根据您的数据库,这可能非常简单。HQL支持内置的特定于供应商的特性和功能,如果HQL不支持新功能,它还支持通过注册新功能来扩展方言的功能。 假设您使用的是SQLServer(或Sybase)。SQLServer
我将QueryDSL与jpa一起使用,我想查找日期范围之间的记录,如下所示 但between仅支持布尔表达式和字符串表达式