有没有一种方法可以在Spring Hibernate中描述每行的唯一序列?

时间:2020-08-05 10:18:22

标签: java spring postgresql flyway composite-key

我尝试使用复合键-但是:

  1. 复合键不适用于自动生成
  2. @IdClass损坏(long class couldn't be constructed by Spring
  3. @EmbeddedId可用,但仍然存在№1问题

基本上我想做的是使每行(板链接)具有唯一的顺序,如下所示:

+---------+-----------+------------+
| post_id | thread_id | board_link |
+---------+-----------+------------+
|       1 |         1 | board_1    |
|       2 |         1 | board_1    |
|       3 |         1 | board_1    |
|       1 |         2 | board_2    |
|       2 |         2 | board_2    |
|       3 |         3 | board_2    |
+---------+-----------+------------+

我正在使用Spring Boot 2.2.6.RELEASE,PostgreSQL 12.3-2(9.6 testcontainers)和6.3.2 flyway-core。全部通过gradle。

1 个答案:

答案 0 :(得分:1)

您可以使用GeneratedValue批注并将策略设置为GenerationType.SEQUENCE

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "id", updatable = false, nullable = false)
private Long id;