Spring Data JPA 连接达梦数据库配置

Spring Data JPA连接达梦数据库出现下面错误,原因是Hibernate版本不兼容

ERROR org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentImpl - Could not fetch the SequenceInformation from the database
dm.jdbc.driver.DMException: 无效的列名
    at dm.jdbc.driver.DBError.throwException(DBError.java:678) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
    at dm.jdbc.driver.DmdbResultSet.do_findColumn(DmdbResultSet.java:993) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
    at dm.jdbc.driver.DmdbResultSet.do_getString(DmdbResultSet.java:1001) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
    at dm.jdbc.driver.DmdbResultSet.getString(DmdbResultSet.java:2244) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
    at com.zaxxer.hikari.pool.HikariProxyResultSet.getString(HikariProxyResultSet.java) ~[HikariCP-3.4.1.jar:?]
    at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetCatalogName(SequenceInformationExtractorLegacyImpl.java:119) ~[hibernate-core-5.4.6.Final.jar:5.4.6.Final]
.....

正确配置步骤:

1.添加maven依赖

<dependency>
    <groupId>com.dameng</groupId>
    <artifactId>Dm8JdbcDriver18</artifactId>
    <version>8.1.1.49</version>
</dependency>
<dependency>
    <groupId>com.dameng</groupId>
    <artifactId>DmDialect-for-hibernate5.3</artifactId>
    <version>8.1.1.49</version>
</dependency>
<dependency>
    <!--注意:只有这个版本的hibernate兼容达梦数据库 -->
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.3.18.Final</version>
</dependency>

2. application.properties配置

spring.datasource.dm.jdbc-url=jdbc:dm://192.168.1.1:5236/DM_DB
spring.datasource.dm.username=DM_DB
spring.datasource.dm.password=password
spring.datasource.dm.driver-class-name=dm.jdbc.driver.DmDriver

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.DmDialect
经验分享 程序员 微信小程序 职场和发展