Java - Hibernate:基于另一个字段生成序列列

时间:2018-05-25 12:51:50

标签: java hibernate spring-mvc

需要向数据库添加一个字段,该字段将记录与该(外部)id相关的序列号。

Example table data (current):

ID     ACCOUNT     some_other_stuff
1      1           ...
2      1           ...
3      1           ...
4      2           ...
5      2           ...
6      1           ...

我需要添加一个sequenceid列,它为每个帐户单独递增,实现:

ID     ACCOUNT     SEQ     some_other_stuff
1      1           1       ...
2      1           2       ...
3      1           3       ...
4      2           1       ...
5      2           2       ...
6      1           4       ...

请注意,序列与帐户有关。

1 个答案:

答案 0 :(得分:0)

不幸的是,这不能用JPA和hibernate完成。唯一的解决方案是在服务中手动完成。您可以在列上使用@Generated值,但依赖于数据库来提供值。并且您无法创建自定义序列实现并使用@GeneratedValue,因为它仅适用于ID列。