如何在一个表中生成两个序列休眠

问题描述

我使用spring boot / jpa / hibernate / MysqL生成模式并具有表顺序。我想在一个表中生成2个序列。第一次产生,第二次忽略。我该如何实现?

@Entity
@Data
@Table(name = "orders")
public class Orders {
    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Long id;

    @Column(name = "order_number")
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Long orderNumber;
}

解决方法

在实际的SQL数据库中,采用@GeneratedValue策略的AUTO实现可能将使用自动增量列。大多数数据库甚至不允许有两个自动增量列,通常,不需要您为什么甚至需要它。我建议只删除idorderNumber字段之一,并将另一个字段保留为实体/表中唯一的自动增量列。