我创建了一个具有OffsetTime列的休眠实体。在保存具有时间偏移量(例如(+05:00))的时间值时,它会丢弃时间偏移量,并根据系统时区保存具有时间偏移量的时间。这是我在实体中的专栏:
@Column(name = "start_time", nullable = false)
private OffsetTime startTime;
然后,如果我尝试保存“ 12:15 + 01:00”。如果我的计算机处于UTC时区,则保存“ 12:15 + 00:00”;如果我的计算机处于IST时区,则保存“ 12:15 + 05:00”。我希望它保存“ 12:15 + 01:00”,而与计算机的时区无关。
请提出我需要更正/审查的内容,以确保解决此问题。
谢谢。
答案 0 :(得分:0)
问题是如何设置值。您没有显示设置方法。您可以从String
解析它,也可以操作Temporal
的某些实例,然后将其转换为OffsetTime
,如果您不想使用默认值,则需要提供所需的偏移量一。假设您要使用给定的偏移量保存当前时间。因此,您将必须执行以下操作:
OffsetTime startTime = OffsetTime.of(LocalTime.now, ZoneOffset.of("+05:00");
请参见方法of()和其他OffsetTime方法