sql >> Base de Datos >  >> RDS >> PostgreSQL

El método de error de Postgres org.postgresql.jdbc.PgConnection.createClob() no está implementado

TL;RD

  • Establecer spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true en tu application.yml o,
  • Establecer hibernate.jdbc.lob.non_contextual_creation=true en tu persistence.xml

Es un error conocido en la comunidad JBoss.

Este error aparece en versiones anteriores y en la nueva versión con Spring-Boot 2.0.0.RC1 y superior.

Solución :

  1. Actualice su controlador postgressql con una versión más reciente compatible con versiones anteriores.
    • Establecer spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true en tu application.yml o,
    • Establecer hibernate.jdbc.lob.non_contextual_creation=true en su persistencia.xml
  2. Si no funciona, vea este truco a continuación:

La solución es agregar esta línea en su archivo de propiedades (o algo similar si no está usando Spring)

spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults= false

Entonces, su application.yml debería verse así:

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

Referencia:

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

hibernate con c3p0:createClob() no está aún implementado

Gracias a Binakot por su comentario a continuación. He actualizado la publicación.