We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
标准 JPQL 不支持此类日期操作。您必须使用本机查询或在 Java 端进行计算。
Standard JPQL doesn't support such operations on dates. You will have to either use a native query or to do the computation on the Java side.
如果您已经有一个超过 1 个月的日期对象,您可以执行以下操作:
但是,这要求日期事先有效。
更新
如果你总是想要下个月,你可以使用JodaTime,它有一个很棒又简单的API。
然后您可以像这样修改您的查询:
If you have a date object that is + 1 month already you could do something like this:
This however, requires that the dates be valid before hand.
UPDATE
If you always want the next month, you can use JodaTime which has a great and easy api.
You could then modify your query like this:
或者使用 commons-lang 而不是 jodatime:
但我知道这不是您要问的,而且我很确定它不能单独在 JPQL 中完成,您要么必须传递参数,要么使用本机命名查询
Or use commons-lang instead of jodatime:
But I know this is not what you are asking and I'm pretty sure it can't be done in JPQL alone, you will either have to pass a parameter or use a native named query
亲爱的,
我正在使用 spring 数据,实体将createdDate 保存为日期时间,并在存储库中像这样:
所以我不能使用:
在后端bean 中我使用以下内容:
并且它工作正常。
Dears,
i'm using spring data, the entity save the createdDate as datetime, and in the repository like this:
so i can't use :
in the backend bean i use the following:
and it's working fine.