Corda:如何将即时状态变量保存为valult DB中的UTC?

Corda:如何将即时状态变量保存为valult DB中的UTC?,corda,Corda,我有一个合同状态,其中包含一个表示UTC值的即时类型变量。但是当PersistentState将其保存到DB时,DB中的DATETIME值表示本地日期时间,而不是UTC。 有人能帮我把DB值设为UTC吗? 谢谢 \肖恩 代替即时使用: 在自定义架构中: 在您所在州的generateMappedObject通行证中: 另外,如果您有API,我在RequestModelMapper对象中使用了: 这是解决办法- 1.val theUTC=OffsetDateTime.nowZoneOffset.UT

我有一个合同状态,其中包含一个表示UTC值的即时类型变量。但是当PersistentState将其保存到DB时,DB中的DATETIME值表示本地日期时间,而不是UTC。 有人能帮我把DB值设为UTC吗? 谢谢

\肖恩

代替即时使用: 在自定义架构中: 在您所在州的generateMappedObject通行证中: 另外,如果您有API,我在RequestModelMapper对象中使用了: 这是解决办法- 1.val theUTC=OffsetDateTime.nowZoneOffset.UTC 2.在模式中, @Columnname=entryDateTime val entryDateTime:LocalDateTime 3.在generateMappedObject中,
这是UTC到当地时间

谢谢,阿德尔。但是我不能对列使用字符串,因为DB的数据类型是DATETIME2或DATETIMEOFFSET。Liquibase会抱怨字符串和日期时间不兼容。还有其他方法吗?然后将列定义为OffsetDateTime而不是字符串;它应该可以工作。OffsetDateTime没有帮助。我仍然在数据库中获取本地日期时间。
private final OffsetDateTime txTimestamp;
@Column(name = "tx_timestamp") private final String txTimestamp;
this.txTimestamp.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private OffsetDateTime txTimestamp;