我的应用程序使用数据库每个租户多租户,每个租户都有一个时区。
我不想使用timestamp,因为我不希望数据库处理时区转换,但是我想做的是在zoneddatetime和mysql datetime之间进行转换。
在我的应用程序中,我检索租户的当前时间,如下所示:
ZonedDateTime.of(LocalDateTime.now(), tenant.getTenantZoneId());
我想将其写入数据库,因为分区日期时间将显示它(即,应用了时区和dst)。
在从数据库读取数据时,这种转换应该是不必要的,我可以假设所有datetime都是时区。
我怎样才能做最初的翻译?我怎样才能以一种很好的方式作为一个jpa提供者(尤其是hibernate)
1条答案
按热度按时间6ojccjat1#
如果我没听错的话,你想写信吗
ZonedDateTime
到mysql的DATETIME
类型,但不保留区域id等。如果是这样,只需将其编写为LocalDateTime
.如果你的司机是最新的,只要写
LocalDateTime
到数据库使用PreparedStatement.setObject
应该工作:至于阅读,
ResultSet.getObject
应该工作: