sql >> データベース >  >> RDS >> PostgreSQL

Postgresエラーメソッドorg.postgresql.jdbc.PgConnection.createClob()が実装されていません

    TL; DR

    • spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=trueを設定します application.ymlで または、
    • hibernate.jdbc.lob.non_contextual_creation=trueを設定します persistence.xml

    これはJBossコミュニティの既知のエラーです。

    このエラーは、Spring-Boot2.0.0.RC1以降の以前のバージョンと新しいバージョンで発生します。

    解決策

    1. postgressql-driverを新しい下位互換性のあるバージョンに更新します。
      • spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=trueを設定します application.ymlで または、
      • hibernate.jdbc.lob.non_contextual_creation=trueを設定します あなたのpersistence.xmlで
    2. 機能しない場合は、以下のトリックを参照してください:

    解決策は、この行をプロパティファイル(または、Springを使用していない場合は同様のもの)に追加することです

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

    したがって、application.ymlは次のようになります。

    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
    

    参照:

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

    c3p0で休止状態:createClob()はまだ実装されています

    Binakotに感謝します 以下の彼のコメントに対して。投稿を更新しました。



    1. MySQL:ロングテーブルとワイドテーブル

    2. PostgreSqlのシリアルシーケンスをEntityFramework(C#)でオーバーライドする

    3. MySQLクエリ-最新バージョンのエントリのみを使用した内部結合

    4. postgresqlでのPostgresql全文検索-日本語、中国語、アラビア語