0、 开发环境
开发环境: idea 2022
SpringBoot版本 :2.7.1
JDK 11
1、需求说明
适配国产化数据库达梦8
2、适配过程
3、问题描述和解决
3.1报错问题
Caused by: dm.jdbc.driver.DMException: 无效的列名
3.2 问题解决
主要是版本问题,直接推荐以下版本
<dependency>
<groupId>DmJdbcDriver18</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.2.128</version>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmDialect-for-hibernate5.6</artifactId>
<version>8.1.2.192</version>
</dependency>
<!-- JPA 相关依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.7.18</version>
</dependency>
另外配置中也需要注意方言的设置
#配置数据源
spring.datasource.name=dameng
spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.DmDialect
spring.datasource.url=jdbc:dm://127.0.0.1:5236/mydb?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=aaa
spring.datasource.password=111
spring.datasource.dbcp2.test-on-borrow=true
spring.datasource.dbcp2.validation-query=SELECT 1
#jpa
spring.jpa.database-platform=org.hibernate.dialect.DmDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
#模式名称
spring.jpa.properties.hibernata.default_schema=PROCESSON_API
spring.jpa.properties.hibernata.dialect=org.hibernate.dialect.DmDialect
spring.jpa.properties.hibernata.temp.use_jdbc_metadata_defaults=false
spring.jpa.properties.hibernate.id.new_generator_mappings=false