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

如何为当前时区的Hibernate查询分配日期参数?

严天逸
2023-03-14
问题内容

将日期分配给命名的SQL参数时,Hibernate会自动将其转换为GMT时间。如何使所有日期都使用当前服务器时区?

假设您有一个查询:

Query q = session.createQuery("from Table where date_field < :now");
q.setDate("now", new java.util.Date());

“现在”将设置为GMT时间,而“新Date()”将获取您当前的服务器时间。

谢谢。


问题答案:

事实证明,Hibernate不会自动将日期转换为格林尼治标准时间,如果您使用query.setDate(),它只会缩短时间,因此,如果您传递“
2009-01-16 12:13:14”,它将变为“ 2009-01-16 00:00” :00“。

为了节省时间,您需要query.setTimestamp("date", dateObj)改用。



 类似资料:
  • 我的桌子是这样的: ID名称日期1 a 2 b 3 C 当我今天选择一个随机用户时: 到目前为止,我的程序运行良好。我想要的是周二(03/15/2016)当我运行随机选择器时,我希望它将B和C的日期重置为空,并用2016-03-14留下A,这样A就不会在周二被选中。

  • 我需要获取当前日期,但格式如下: 有什么方法我可以用吗?我只找到了不同的格式和暂时无法使用的东西。用于使用python。

  • 问题内容: 我从网络获取日期/时间字符串,格式为“ yyyy / mm / dd’T’HH:MM:SS’Z’”,它采用UTC格式。 现在,我必须确定设备的当前时区,然后将此时间转换为本地时间。 我该怎么做,请建议我! (仅供参考,目前,UTC时间为10:25 AM,印度当前时间为3:55 PM) 问题答案: 尝试使用代替 从文档: …您使用getDefault得到一个TimeZone,它根据程序运

  • 问题内容: 刚从操场开始。我正在尝试创建一个简单的应用程序。 我创建了一个这样的日期对象: 我如何获得当前时间?在其他语言中,我可以执行以下操作: 但是我找不到像这样的任何属性/方法。我找到了一种方法。我应该用那个吗?如果是这样,怎么办? 问题答案: Swift 3更新: 我这样做: 在Objective-c中看到相同的问题,如何从NSDate获得小时和分钟?与Nate的答案相比,您将获得一个数字

  • 问题内容: 我正在尝试使用Hibernate 3和Oracle 10编写此查询。 它正在这样创建SQL- 当显然有完美的括号时,我会收到所有这些古怪的错误,例如“缺少正确的括号”。 甲骨文为何为此大吃一惊?有没有更好的方法来编写我的HQL查询? 问题答案: 不是吗? Hibernate会将其翻译为适当的方言。 我没有找到真正的“ Hibernate将其翻译成该文档”参考文档,但该表达式通常可以在H

  • 问题内容: 通过我可以参数化这样的查询; 但是问题在于,如果a为None,则查询应如下所示; 因此,当查询可以为None或字符串时,查询应如何? 问题答案: 解决方案是使用ISO / ANSI标准-安全比较: 并非所有数据库都支持此功能,因此您还可以使用: 如果您不愿意两次传递参数,则可以在子句中包含它: