sql >> Base de Datos >  >> RDS >> PostgreSQL

Múltiples generadores de secuencias de Hibernate para una entidad con PostgreSQL

No, no puedes. El generador es aplicable solo para columnas de identificador.

Asegúrese de crear esta secuencia con un script (por ejemplo, hibernate.hbm2ddl.import_files ):

create sequence subscription_code_1_seq start 1 increment 7

Luego use una asignación como esta:

@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;