日期差异天数限制休眠

时间:2015-11-26 09:24:02

标签: java sql database hibernate java-ee

我正在使用Hibernate和Criteria API来编写我的数据库quires。我需要做的是我需要两天的日期差异,并将这些日期与具体数字进行比较。

E.g。通常编写的标准限制为:

criteria.add(Restrictions.eq("somProperty", someValue));

我需要的是:

criteria.add(Restrictions.ge("dateProperty1 - dateProperty2", 15));

表示两个日期之间的日期差异大于或等于15天。

我不知道如何实现这一目标。是的,我做了很多谷歌找出可能的解决方案,但没有得到我需要的适当材料。

1 个答案:

答案 0 :(得分:1)

如果您查看Restrictions课程的文档,您会看到:

  • 大多数函数都在“属性与值”对上运行(就像在第一个示例中一样)
  • 其余的比较器功能在“属性与其他属性”对
  • 上运行

但是没有自定义功能适用于你的情况。那么你有什么选择使用sqlRestriction,它可以用来以DBMS的原生形式表达这种情况。这将是一个不同的,但更容易的问题,尽管显然不如你原来的想法那么优雅。