【发布时间】:2012-10-08 05:48:57
【问题描述】:
有没有办法在 JPA 中表示最大(和最小)可能的日期而不是特定于数据库的? JPA 实现应该能够根据使用的方言将其转换为正确的值。
如果不是 JPA,Hibernate 特定的解决方案也可以。
编辑
在我们使用的应用程序中,有几个命名查询用于测试日期是否在给定范围内
SELECT ... FROM ... WHERE somedate BETWEEN startdate AND end date
如果范围是开放的(只有开始日期,或者只有结束日期),那么使用最大和最小日期来进行不同的查询会更容易,只需一次比较(这需要对现有应用程序进行一些更改,我会喜欢避免)。
编辑 2
对于不是一个真正的问题选民:问题是:
是否可以以与数据库无关的方式查询最大可能日期?
编辑 3
应用程序将日期存储为java.util.Date,如下所示
@Temporal( TemporalType.TIMESTAMP )
private java.util.Date someDate;
【问题讨论】:
-
对接近投票的评论可能很有用。不相关?复制?如果它是重复的,那么提及一个链接也不错。
-
我不是投票反对也不是投票关闭的人,但是您为什么需要此信息,您会在实际应用中使用它吗?
-
@LuiggiMendoza 我用解释编辑了这个问题
-
如果是这样,为什么不将
end用作'3000-01-01'?我知道这不是最好的答案,但我怀疑同一个应用程序会使用 1000 年。 -
@LuiggiMendoza 这就是我现在正在做的,但如果有一个 cleaner 解决方案,我正在徘徊
标签: java database hibernate date jpa