PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O método de erro do Postgres org.postgresql.jdbc.PgConnection.createClob() não foi implementado


TL;DR
  • Definir spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true em seu application.yml ou,
  • Definir hibernate.jdbc.lob.non_contextual_creation=true em seu persistence.xml

É um erro conhecido na comunidade JBoss.

Este erro aparece em versões anteriores e novas com Spring-Boot 2.0.0.RC1 também e superior.

Solução :
  1. Atualize seu driver postgressql com uma versão mais recente compatível com versões anteriores.
    • Definir spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true em seu application.yml ou,
    • Definir hibernate.jdbc.lob.non_contextual_creation=true em seu persistence.xml
  2. Se não estiver funcionando, veja este truque abaixo:

A solução é adicionar esta linha em seu arquivo de propriedades (ou algo semelhante se você não estiver usando spring)
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults= false

Então, seu application.yml deve se parecer com:
spring:
    application:
      name: employee-service

    datasource:
      url: jdbc:postgresql://localhost:5432/db_development
      platform: POSTGRESQL
      username: ...
      password: ...

    jpa:
      hibernate:
        ddl-auto: create-drop
        dialect: org.hibernate.dialect.PostgreSQL9Dialect
        show_sql: true
      properties.hibernate.temp.use_jdbc_metadata_defaults: false


server:
  port: 8080

Referência:

https://o7planning.org/en/11661 /spring-boot-jpa-and-spring-transaction-tutorial

hibernar com c3p0:createClob() não é ainda implementado

Obrigado a Binakot para seu comentário abaixo. Já atualizei o post.