gpt4 book ai didi

java - Hibernate - 将 DateTime 字段与 Restrictions.like 进行比较

转载 作者:行者123 更新时间:2023-11-29 07:39:14 24 4
gpt4 key购买 nike

我的实体类中有一个带有 Date 数据类型的 createDateTime 字段,hibernate 在 mysql 表中生成了一个带有 datetime 类型的列。现在,我需要将 createDateTime 字段与不带秒的值进行比较。事实上,一个用户可以在搜索字段中输入例如 2015-01-01 12:10,我想显示包含 2015-01-01 12:10:10 的记录 crateDateTime 作为结果。我知道这可以通过平面查询实现:

SELECT * FROM table_test WHERE crateDateTime LIKE "2015-01-01 12:10 %"

但我不知道如何通过 hibernate 来做到这一点。

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
data = formatter.parse("2015-01-01 12:10");

//This returned null.
Criterion crtmp = Restrictions.like("createDateTime", data);

//This returned ClassCastException. Because second argument must have "Date" dataType not "String"
Criterion crtmp = Restrictions.like("createDateTime", data + "%");

最佳答案

您应该创建一个日期变量,例如createDateTimePlusOneMinute,然后使用以下限制找到 createDateTimecreateDateTimePlusOneMinute 之间的时间范围

criteria.add(Restrictions.ge("createDateTime", createDateTime));
criteria.add(Restrictions.lt("createDateTime", createDateTimePlusOneMinute));

关于java - Hibernate - 将 DateTime 字段与 Restrictions.like 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com