问题描述
我已经开始处理旧版 oracle 数据库并使用 Spring boot Jpa 尝试在没有身份的表 (CHANNELMGR_REQUEST
) 中插入新行:
此表有一个数字列 (CM_ISN
),从逻辑上讲可能是 Identity 候选者,但由于某种原因我无法访问数据库。
我发现一个现有序列 (CHANNELMGR_SEQ
) 也用于为该 CM_ISN
列生成值。
所以我决定使用该序列并在我的等效 POJO 中添加一些注释,如下所示,并将序列映射到 CM_ISN
列。但不接触数据库:
我的仓库是这样的:
在插入行时,成功调用序列但得到如下异常:
我的问题:
PS:对不起,我放了图片而不是实际的源代码,原因是开发机器无法访问互联网。
解决方法
- 如果不是主键是错误的
- 使用 BigDecimal 而不是 Number