0、 开发环境

开发环境: idea 2022
SpringBoot版本 :2.7.1
JDK 11

1、需求说明

适配国产化数据库达梦8

2、适配过程

参考 Springboot + jpa + 达梦

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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐