PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

La méthode d'erreur Postgres org.postgresql.jdbc.PgConnection.createClob() n'est pas implémentée

TL;DR

  • Définir spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true dans votre application.yml ou,
  • Définir hibernate.jdbc.lob.non_contextual_creation=true dans votre persistence.xml

C'est une erreur connue dans la communauté JBoss.

Cette erreur apparaît dans les anciennes versions et la nouvelle version avec Spring-Boot 2.0.0.RC1 ainsi que dans les versions ultérieures.

Solution :

  1. Mettez à jour votre pilote postgressql avec une nouvelle version rétrocompatible.
    • Définir spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true dans votre application.yml ou,
    • Définir hibernate.jdbc.lob.non_contextual_creation=true dans votre persistence.xml
  2. Si cela ne fonctionne pas, voyez cette astuce ci-dessous :

La solution consiste à ajouter cette ligne dans votre fichier de propriétés (ou quelque chose de similaire si vous n'utilisez pas de ressort)

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

Ainsi, votre application.yml devrait ressembler à :

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

Référence :

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

hiberner avec c3p0 :createClob() n'est pas encore mis en œuvre

Merci à Binakot pour son commentaire ci-dessous. J'ai mis à jour le message.