在 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 列。但不接触数据库 :

我的仓库是这样的:

插入行时,成功调用序列但出现如下异常:

我的问题:

  1. 修改实体并将@Id添加到不等效的实体中是否错误table?
  2. 我的代码有什么问题导致出错?

PS: 抱歉放了图片而不是实际源代码,原因是开发机器无法上网

  1. 不是主键就报错
  2. 使用 BigDecimal 代替 Number