当前位置: 首页 > 知识库问答 >
问题:

仅日期比较,不使用 JPA 命名查询进行时间比较

侯兴为
2023-03-14

我的数据库有一列是 DATE。

当生成实体时,它在实体类中创建了一个< code>Timestamp字段。

@Column(name="MY_DATE")
private Timestamp myDate;

我的传入对象是一个< code>java.util.Date对象。< code >开始日期和< code >结束日期。

我需要编写一个 JPA 查询,该查询将获取在开始日期和结束日期之间my_date的记录。它正在考虑时间。

查询条件

o.myDate >=:inputDate AND o.myDate <=:inputDate

共有1个答案

酆出野
2023-03-14

您的实体代码是自动生成的吗?也许您应该尝试更新您生成的实体代码。将myDate字段的类型更改为Date而不是java.sql.Timestamp。然后使用@Temporal对其进行注释,并指定DATE作为类型,如下面的代码所示:

@Column(name="MY_DATE")
@Temporal(TemporalType.DATE)
private Date myDate;

在查询中,可以使用< code>BETWEEN来代替比较运算符:

o.myDate BETWEEN :startDate AND :endDate
 类似资料:
  • 问题内容: 在Go中进行日期比较是否有任何选择?我必须根据日期和时间- 独立地对数据进行排序。因此,我可以允许一个对象在一定日期范围内发生,只要它也在一定时间范围内出现即可。在此模型中,我不能简单地选择最旧的日期,最年轻的时间/最新的日期,最新的时间和Unix()秒来比较它们。我真的很感谢任何建议。 最终,我编写了一个时间解析字符串比较模块,以检查时间是否在范围内。然而,这并不顺利。我有一些大问题

  • 问题内容: 以下代码有什么问题? 也许只比较日期而不是时间会更简单。我也不确定如何执行此操作,因此我进行了搜索,但找不到确切的问题。 顺便说一句,当我在警报中显示两个日期时,它们显示为完全相同。 我的代码: 有没有比较日期而不包含时间的简单方法? 问题答案: 我仍在学习JavaScript,而我发现唯一可以比较两个没有时间 的日期的方法是使用Date对象的方法,并将小时,分钟,秒和毫秒设置为零。然

  • 问题内容: 我需要从具有列的表中抓住一些记录,这是一个(没有时间)。我只需要通过比较年份和月份来过滤记录。例如,我希望所有出生于1990年3月的用户。日子并不重要。 您如何处理? 问题答案: 您可以使用 它将对HQL有效

  • 后继版本:10.4 表列名/类型:带时区的updated_at timestamp(6) Java方法: 这个查询和方法在H2数据库中很好地工作。然而,当使用Postgress数据库对其进行测试时,我得到以下异常 我也尝试了FetchFromTime.ToLocalDateTime(),但得到了相同的异常。

  • 我有个约会‘2019-05-08t 22:15:00-0400’。我想将这个日期与当前的日期和时间进行比较。如果上述日期和时间小于当前日期和时间,那么我必须做些什么。 我的代码是:- 但它返回 false 。

  • 问题内容: 我在数据库中有时间戳,在应用程序中我有日期。我喜欢编写hibernate标准,以便hibernate可以提取所有与日期匹配的条目,而不是时间部分。例如 在数据库时间戳记中 2011-12-01 15:14:14 在应用程序中,我确实具有java.util.Date,默认情况下具有时间部分。 我的问题是,当我使用以下代码从数据库中搜索条目时,我什么也没得到 提前致谢 问题答案: 如果您正