ITPub博客

首页 > > > SpringBoot+JPA+PostgreSQL整合问题

SpringBoot+JPA+PostgreSQL整合问题

作者:浪花小雨滴 时间:2020-06-17 16:55:38 0 删除 编辑
理论上本文适用于在使用 JPA+PostgreSQL 时 遇到 org.postgresql.jdbc.PgConnection.createClob() 问题的情况

环境以及主要依赖版本号

SpringBoot: 2.1.9.RELEASE

PostgreSQL: 11.5

PostgreSQL-Driver: 42.2.8

发生的问题

项目启动时, 报org.postgresql.jdbc.PgConnection.createClob() is not yet implemented 错误, 但是不影响项目运行

但是博主有强迫症,必须要解决这个问题,遂Google之,也找到了很多解决方法,譬如添加如下配置:

出处:github.com/pgjdbc/pgjdb
spring:
  jpa:
    database-platform: org.hibernate.dialect.PostgreSQL9Dialect
    properties:
      hibernate:
        temp:
          use_jdbc_metadata_defaults: false
        jdbc:
          lob:
            non_contextual_creation: true

然而很不幸的是,对我都没有效果。

解决的方法

究其原因呢,我也找到了如下解释:

出处: vkuzel.com/spring-boot-
These exceptions appears because JPA (Hibernate) supported by Atomikos is trying to verify PostgreSQL CLOB feature. This feature is not implemented by JDBC driver, so driver throws an unimportant exception. Unfortunately Atomikos has an exception listener which marks a connection as erroneous if any exception occurs.

那究其根本,是Hibernate验证了一个JDBC没实现的特效导致的,网上普遍的解决方式也是阴暗的屏蔽这个检测特性而已(我个人其实不喜欢这种做法),并且我发现这个问题也有人给Hiberante官方报了issues,那我是否可以通过升级Hibernate来解决呢?

搜了一通,也没见网上有人从这个方向入手,那我就做第一个吃螃蟹的人吧,我先看了看spring-boot-starter-data-jpa中引入的hibernate版本,发现是 5.1.x ,看了下首次发布日期是2016年,考虑到时间关系,我选择升级到 5.4.x 试一下,也省的去官方找发布日志了,先一把梭子先试为敬。

说干就干,我把spring-boot-starter-data-jpa中引入的hibernate版本 先剔除,然后,引入 5.4.x 版本的Hibernate-core,调整后的pom如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <exclusions>
        <exclusion>
            <artifactId>hibernate-core</artifactId>
            <groupId>org.hibernate</groupId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.4.3.Final</version>
</dependency>

启动项目,问题解决。


掘金专栏:程序员Mk

CoderMk 的个人主页 - 专栏 - 掘金​juejin.im


微信公众号:程序员Mk

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3169183/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: docker 安装mysql5.7
请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    39941