当前位置: 首页 > 面试题库 >

如何比较休眠中的日期

季骏祥
2023-03-14
问题内容

在我的数据库日期中,如2012-04-09 04:02:53 2012-04-09 04:04:51 2012-04-08 04:04:51,等等,我需要检索在日期字段中具有当前日期的数据。我的意思是我只需要比赛2012-04-09'。我该如何使用hibernate条件。


问题答案:

使用Restrictions.between()生成一个where子句,该子句的日期列在‘2012-04-09
00:00:00’和‘2012-04-09 23:59:59’之间

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date fromDate = df.parse("2012-04-09 00:00:00");
Date toDate = df.parse("2012-04-09 23:59:59");

criteria.add(Restrictions.between("dateField", fromDate, toDate));

请注意,Criteria API中使用的所有属性都是Java属性名,而不是实际的列名。

更新:仅使用JDK获取当前日期的fromDate和toDate

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
Date fromDate = calendar.getTime();

calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
Date toDate = calendar.getTime();

criteria.add(Restrictions.between("dateField", fromDate, toDate));


 类似资料:
  • 问题内容: 我想获取介于两个时间戳之间的记录。我想要使​​用hibernate模式。我尝试使用以下查询进行操作,但未获得任何输出 这是从控制台形成的SQL查询: 我的数据库具有T_ADM_TNM_UPDATE_DATETIME = 10/2/2012 5:10:40 PM的记录 但是结果集无法获取此查询…我不知道我哪里出错了。 谁能指导我进一步 问题答案: 您应该使用HQL参数而不是串联。 举个例

  • 问题内容: 对于新产品的重新设计,我们正在从Java中选择最佳框架。由于考虑使用模型的数据库不可知方法,因此我们正在研究Struts +Spring与iBATIS或Hibernate之间的选项。请提供最好的建议,因为两者都可以提供持久性。 问题答案: Ibatis和Hibernate是完全不同的野兽。 我倾向于这样看:如果您的视图以 对象为中心, 则Hibernate会更好地工作。但是,如果您认为

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

  • 我想在Mongo和Spring中获取结果bw两个日期,但它显示解析异常。 如果我将like date作为字符串传递,则不会有结果。如何比较spring和Mongo应用程序中的日期。 我的收藏:

  • 问题内容: 如何在Java中比较两者之间的日期? 例: date1是 date2是今天 date3是 总是大于和今天始终。如何验证今天的日期是否在和之间? 问题答案: 日期有之前和之后的方法,可以相互比较,如下所示: 进行包容性比较: 你也可以尝试一下Joda-Time,但请注意: Joda-Time是Java SE 8之前的Java的事实上的标准日期和时间库。现在,要求用户迁移到java.tim

  • 问题内容: 在甲骨文我有格式的日期 2011年4月17日19:20:23.707000000 我想检索2011年4月17日的所有订单。 但这给我带来了空洞的结果: 问题答案: 为什么使用)? 您应该使用。 请注意,您也可以使用,,,在日期对象作为比较操作。运算符不适用于这种情况,因为当您要根据列的部分内容匹配结果时很有用。请参阅http://www.sql- tutorial.net/SQL-LI