在 Spring 引导 Jpa 中将 @Id 添加到映射到没有主键列的 table 的实体是否可以?
Is it OK to add @Id to an entity which mapped to a table without Primary key column in Spring boot Jpa?
我已经开始使用遗留的 oracle 数据库并使用 Spring boot Jpa 尝试在没有身份的 table (CHANNELMGR_REQUEST
) 中插入一个新行:
这个 table 有一个数字列 (CM_ISN
),逻辑上可能是身份候选者,但由于某种原因我无法访问数据库。
我找到了一个现有序列 (CHANNELMGR_SEQ
),它也用于为 CM_ISN
列生成值。
所以我决定使用该序列并在我的等效 POJO 中添加一些注释,如下所示,并将序列映射到 CM_ISN
列。但不接触数据库 :
我的仓库是这样的:
插入行时,成功调用序列但出现如下异常:
我的问题:
- 修改实体并将@Id添加到不等效的实体中是否错误table?
- 我的代码有什么问题导致出错?
PS: 抱歉放了图片而不是实际源代码,原因是开发机器无法上网
- 不是主键就报错
- 使用 BigDecimal 代替 Number
我已经开始使用遗留的 oracle 数据库并使用 Spring boot Jpa 尝试在没有身份的 table (CHANNELMGR_REQUEST
) 中插入一个新行:
这个 table 有一个数字列 (CM_ISN
),逻辑上可能是身份候选者,但由于某种原因我无法访问数据库。
我找到了一个现有序列 (CHANNELMGR_SEQ
),它也用于为 CM_ISN
列生成值。
所以我决定使用该序列并在我的等效 POJO 中添加一些注释,如下所示,并将序列映射到 CM_ISN
列。但不接触数据库 :
我的仓库是这样的:
插入行时,成功调用序列但出现如下异常:
我的问题:
- 修改实体并将@Id添加到不等效的实体中是否错误table?
- 我的代码有什么问题导致出错?
PS: 抱歉放了图片而不是实际源代码,原因是开发机器无法上网
- 不是主键就报错
- 使用 BigDecimal 代替 Number