PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O hibernate deve usar sequências exclusivas para cada tabela?


Recentemente resolvi este problema para o meu projeto. Eu uso o gerador de sequência aprimorado (que é o padrão para geradores de estilo de sequência) e defino o prefer_sequence_per_entity parâmetro para true .

Conteúdo do meu package-info.java :
@GenericGenerator(
    name = "optimized-sequence",
    strategy = "enhanced-sequence",
    parameters = {
        @Parameter(name="prefer_sequence_per_entity", value="true"),
        @Parameter(name="optimizer", value="hilo"),
        @Parameter(name="increment_size", value="50")})
package org.example.model;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

No lado do uso, você só precisa
@Id @GeneratedValue(generator="optimized-sequence")
public long id;

Prefiro ter sequências separadas porque ocasionalmente derrubo uma tabela e a recrio, e quero que os IDs comecem de um.