sql >> Databasteknik >  >> RDS >> PostgreSQL

Flera Hibernate-sekvensgeneratorer för en enhet med PostgreSQL

Nej det kan du inte. Generatorn är endast tillämplig för identifierarkolumner.

Se till att du skapar den här sekvensen med ett skript (t.ex. hibernate.hbm2ddl.import_files ):

create sequence subscription_code_1_seq start 1 increment 7

Använd sedan en mappning så här:

@Id
@SequenceGenerator(
        name="subscription_id_seq",
        sequenceName="subscription_id_seq",
        allocationSize=7
)
@GeneratedValue(
        strategy=GenerationType.SEQUENCE,
        generator="subscription_id_seq"
)
@Column(unique=true, nullable=false)
private Integer id;

@Column(
        name="code",
        nullable=false,
        unique=true,
        insertable = false,
        updatable = false,
        columnDefinition = "BIGINT DEFAULT nextval('subscription_code_1_seq')"
)
@Generated(GenerationTime.INSERT)
private Integer code;


  1. 5 ovanliga Microsoft Access-tips för 2020

  2. Ordlista över SQL Server-frågor — A Stick Shift för DBA:er

  3. Hur man bygger ett Rest API med Spring Boot med MySQL och JPA

  4. Returnera partitionsnumret för varje rad när du frågar efter en partitionerad tabell i SQL Server (T-SQL)