我有
spring-boot-data-jpa
应用程序和这样的PostgreSQL
表:
id | 对象ID | 文档名称 |
---|---|---|
bdc8b35b | 1 | file1_for_obj_1 |
ea4746ab | 2 | file1_for_obj_2 |
cd4f235c | 1 | file2_for_obj_1 |
2d7d5af9 | 1 | file3_for_obj_1 |
e85824021 | 2 | file2_for_obj_2 |
我需要添加一列
number
,它将作为序列号,并将考虑 object_id
列的值。也就是说,这个想法是对与一个或另一个相关的行进行编号object_id
。
所以表格应该是这样的:
id | 对象ID | 文档名称 | 数字 |
---|---|---|---|
bdc8b35b | 1 | file1_for_obj_1 | 1 |
ea4746ab | 2 | file1_for_obj_2 | 1 |
cd4f235c | 1 | file2_for_obj_1 | 2 |
2d7d5af9 | 1 | file3_for_obj_1 | 3 |
e85824021 | 2 | file2_for_obj_2 | 2 |
我的第一个想法是创建一个可以生成新值的序列。例如,像这样:
CREATE SEQUENCE _document_sequence
MINVALUE 1
START WITH 1000
INCREMENT BY 1
但在这种情况下,它不会考虑
object_id
列的值。也就是说,可能应该用 java 代码生成。此外,我需要进行迁移,以记录现有行的新列 number
的值。但我不知道如何最有效地做到这一点。