【问题标题】:PSQLException - spring boot 1.4.1 - spring data jpa - offsetdatetime/localdatetime identified as BytestreamPSQLException - spring boot 1.4.1 - spring data jpa - offsetdatetime/localdatetime 标识为 Bytestream
【发布时间】:2017-03-08 10:06:05
【问题描述】:

在将 Spring Data JPA 与 postgres 集成时。 我有一个代表以下 java 对象的 DB 表。

private class A {

@Column(name="createdTime", columnDefiniton="TIMESTAMP WITH TIMEZONE")
OffsetDateTime dateTime;
}

我正在尝试保存到此表,但是,我得到了

Caused by: org.postgresql.util.PSQLException: ERROR: column "created_time" is of type timestamp with time zone but expression is of type bytea
  Hint: You will need to rewrite or cast the expression.
  Position: 131
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2182) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1911) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:173) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:645) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:495) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:441) ~[postgresql-9.4-1206-jdbc42.jar:9.4]
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]

我确实注意到 postgres jdbc jar 有 2 个版本的 AbstractJdbcStatement & AbstractJdbc42 语句。由于 postgresql-9.4-1206-jdbc42.jar:9.4 支持 JDBC 4.2,我假设调用错误的类会导致此异常。

【问题讨论】:

  • 你能添加完整的异常,以及 jpa 的版本和底层的 impl 及其版本吗?另外,请阅读以下内容:stackoverflow.com/questions/23718383/…
  • @Taylor:我正朝着解决这个问题的正确方向前进。问题是,我正在使用 spring boot 数据 jpa 启动它使用休眠核心版本 5.0.11,它不调用 postgres jdbc 4.2 支持的类。

标签: spring postgresql java-8 spring-data-jpa


【解决方案1】:

Spring data jpa starter 1.4.1.RELEASE 使用 hibernate 5.0.11。 将 hibernate.version 属性覆盖到最新版本修复了问题。

【讨论】:

    猜你喜欢
    • 2017-05-09
    • 2017-11-29
    • 2018-02-12
    • 2017-09-22
    • 2021-01-18
    • 2021-02-09
    • 2014-07-21
    • 1970-01-01
    • 2018-08-06
    相关资源
    最近更新 更多