Spring + javax.persistence.Query:管理从 H2 和 PosgreSQL DB 本机日期类



出于某种原因,我必须使用javax.persistence.Query来执行PostgreSQL(real(/H2(test(数据库查询,其中我必须从DB获取日期时间字段。在Java中,它是OffsetDateTime类型,带有columnDefinition="timestamp with time zone")

在测试中它不起作用,因为getSingleResult()返回org.h2.api.TimestampWithTimeZoneOffsetDateTime.但我认为在PostgreSQL中,它必须返回另一种类型,它是PostgreSQL的原生类型。

那么如何以优雅的方式管理这种转换呢?我必须使用Statement来执行 JDBC 查询吗?这似乎太低级了。或者,将日期时间更改为java.util.Date更好吗?

我建议你使用这个开源项目 https://github.com/montrosesoftware/DbAssist/wiki。由于从您的问题中不清楚太多,这是我能建议的最好的建议。

最新更新