如何使用 JPA 2 标准查询计算年龄?
我很惊讶我找不到关于这个主题的任何内容:
如何根据给定日期计算一个人的年龄 出生日期并仅使用常规 JPA 标准查询?
有很多原生 SQL 解决方案,但我找不到一个简单而优雅的与供应商无关的标准。
干杯!
I'm quite amazed that I could not find anything on this topic:
How do I calculate the age of a person at a given date, based on a
date of birth and using only regular JPA criteria queries?
There are plenty of native SQL solutions, but I could not find a simple and elegant vendor-agnostic criteria.
Cheers!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
JPA 2.0 中没有针对日期操作数的算术运算。此外,JP QL 中现有的三个与日期相关的函数(CURRENT_DATE、CURRENT_TIME、CURRENT_TIMESTAMP)和 Criteria API 中的相应方法(currentDate()、currentTime()、currentTimestamp())与计算无关。这使得无法使用日期进行计算。正如 JB Nizet 所说,只需用 Java 进行计算即可。
There is no arithmetic operations for date operands in JPA 2.0. Also three existing date related functions in JP QL (CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP) and corresponding methods in Criteria API (currentDate(), currentTime(), currentTimestamp()) have nothing to do with calculations. That makes it impossible to perform calculations with dates. Just calculate in Java, as JB Nizet said.