素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

【hibernate】「PgConnection.createClob() メソッドはまだ実装されていません。」エラーの原因と回避方法【SQLFeatureNotSupportedException】

投稿日:

スポンサーリンク

336×280




SpringBootにおけるhibernateのpostgresエラー

エラーの内容

SpringBootで実装をしている過程で、サーバー起動時以下のようなエラーが発生するようになりました。

発生するタイミングとしては、以下の依存関係を追加したタイミングで起き始めました。

追加ライブラリ

  • org.postgresql:postgresql:42.2.5
  • org.springframework.boot:spring-boot-starter-data-jpa2.1.3.RELEASE

原因

こちらは、起動時にcreateClobメソッド存在するか否かのチェックを行い、メソッドが存在しない場合createClobメソッドを使用しないようにしているらしく、システムの動き的には問題ないようです。

実際に上記エラーがログに出ている状態でもサーバーは起動しており、JPAを使ってPostgreSQLからのデータ取得は正常に出来ました。

ただ、エラーがスローされているため気になってしまいますよね。。。orz

しかしご安心ください!!!
hibernate用の設定ファイルを用意することでエラーが出力されないように制御出来ます♪

手順

hibernate.propertiesを用意

対応方法はとても簡単です。

クラスパス上にhibernate.propertiesというファイルを用意して、hibernate.jdbc.lob.non_contextual_creation=trueの一文を追加するだけでOKです。

これで、起動時に自動でこの設定値が読み込まれて不要な処理をしなくなるため、起動時エラーが出ないようになります。

確認

では、実際にファイルを配置してアプリを起動してみましょう。

無事に起動時エラーが出なくなりましたね。

もちろん、既存機能も問題なく動いています♪

参考

終わりに

以上のように、専用の設定ファイルを用意するだけでエラーが発生しなくなりました。

原因がわからないといまいち解決出来ないようなエラー内容ですので、お困りの方はこちらの記事を参考にして頂ければなと思います。

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , , ,

blogenist

Author: blogenist