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