1

ZonedDateTime在我的 JPA 实体中使用。我也在使用 Postgres 数据库。默认情况下,postgres 创建表模式作为bytea列类型。

我有两个问题

  1. 可以将此信息存储为bytea格式吗?
  2. 如果我要进行 SQL 比较,假设我想要大于给定日期的条目,我如何在 SQL 中编写这个比较,这意味着我如何转换bytea回日期?
4

1 回答 1

3

首先,JPA 只映射基本和最常见的类型。

Bytea 是 postgres 在声明不支持类型的字段时最终使用的类型,并且没有注释说明如何处理它。请参阅https://www.postgresql.org/docs/9.0/static/datatype-binary.html。使用 bytea 的原因是,当无法映射类型时,它假定您希望将对象序列化存储。

目前 JPA 不支持 Java 8 类型,有关 JPA 标准的更多信息,请访问: https ://vladmihalcea.com/whats-new-in-jpa-2-2-java-8-date-and-time-types /

您可以使用休眠创建自定义数据类型,前段时间我在一个播放框架组中发布了这个:
https ://groups.google.com/d/msg/play-framework/3AtNiMf_WBM/LBMeztlXBAAJ

再见
汉斯

于 2017-07-05T17:38:23.807 回答