【发布时间】:2020-10-15 14:01:22
【问题描述】:
我有表 SEQUENCE,它存储其他表的序列元数据。我们查询这个表来获取最新的序列,不确定为什么现在我们有序列生成器。无论如何,所以当我尝试使用 findById 传递表名参数时,它返回 null。知道为什么它根本不读表。当我尝试使用 oracle 开发人员编辑器进行查询时,它工作正常。有什么问题?
更新 所以我想我们正在使用自定义表格序列生成器。所以我正在尝试使用@TableGenerator:
@Id
@GeneratedValue(strategy = GenerationType.TABLE,
generator = "table-generator")
@TableGenerator(name = "table-generator",
table = "sequence",
pkColumnName = "seq_table",
valueColumnName = "seq_last_seq")
SEQUENCE 表:SEQ_TABLE、SEQ_LAST_SEQ、SEQ_INCREMENT
现在的问题是因为这个表 SEQUENCE 有额外的列 SEQ_INCREMENT 我得到这个错误: 引起:java.sql.SQLIntegrityConstraintViolationException:ORA-01400:无法将 NULL 插入(“SCHEMA NAME”。“SEQUENCE”。“SEQ_INCREMENT”) SEQUENCE 表的 SEQ_INCREMENT 列设置为 NOT NULL。我如何确保更新列未设置为空
【问题讨论】:
标签: java sql spring hibernate jpa