为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:win10
【CPU】:I7
【问题描述】*:在项目迁移过程中遇到的问题,原始项目使用通用mapper插件做了大量的基础操作,在迁移过程中遇到插入新数据引发的问题**Cause: dm.jdbc.driver.DMException: 仅当指定列列表,且SET IDENTITY_INSERT为ON时,才能对自增列赋值。
tk.mybatis插件 默认的方法insertSelective选择插入时ID为null值时达梦数据库就会抛出异常
“INSERT INTO leader_postal ( id,title) VALUES( null,1)”。
目前看达梦数据库理想状态是不传递id字段 才能实现。
INSERT INTO leader_postal (title) VALUES(1)
原始数据mysql对于主键自增支持传入id为null的操作
但项目迁移过程中发现,大量的引用了插件做基础的插入操作,无法单独重写某一个sql,是否能有相关的解决办法。
xxxxMapper.insertSelective(实体类);//新
插件方法来源为
tk.mybatis.mapper.common.base.insert.InsertSelectiveMapper
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.0.1</version>
</dependency>
您设置set IDENTITY_INSERT leader_postal on WITH REPLACE NULL ;之后在插入试试;
