Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

277
Visualizações
¿Cómo sincronizar la identificación en hibernate y postgres?

¿Quizás alguien se enfrentó a la misma situación? En mi proyecto tengo dos servicios. Creo tablas de base de datos usando liquebase. Al crear una tabla de permisos, inmediatamente ingreso 4 valores allí usando inserciones. y todo está zumbando. Entonces, ahora en el segundo servicio (panel de administración) creé un apish que te permite crear permisos. Cuando trato de hacer un registro en la tabla de permisos, en la que ya hay 4 registros, aparece un error ERROR: duplicate key value violates unique constraint "permissions_pkey" . El error ocurre si hago una solicitud 5 veces, el registro se agrega por 5ta vez. Gracias por adelantado)

 <insert tableName="permissions"> <column name="id" value="1"/> <column name="name" value="USERS_READ"/> </insert> <insert tableName="permissions"> <column name="id" value="2"/> <column name="name" value="USERS_GET"/> </insert> <insert tableName="permissions"> <column name="id" value="3"/> <column name="name" value="USERS_CREATE"/> </insert> <insert tableName="permissions"> <column name="id" value="4"/> <column name="name" value="USERS_DELETE"/> </insert>
 public class Permission { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; }
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Si es una columna de identidad, no es necesario que proporcione valores para la columna de id en el script de liquibase. Deje que el DB los calcule por usted. Ese es el objetivo de usar una columna de identidad, después de todo.

Si necesita hacer referencia a los identificadores más adelante en el script de alguna manera, busque la forma de obtener el último identificador insertado del RDBMS que está utilizando, con bastante frecuencia habrá un método como LAST_INSERTED_ID() . O busque las filas insertadas utilizando la columna de name .

over 4 years ago · Santiago Trujillo Relatório

0

Está utilizando el tipo de generación IDENTIDAD, mapeándose al tipo de datos en serie en postgres. Cuando desea insertar permisos creados desde su panel de administración, Postgres usa una secuencia, comenzando en 1 desde su descripción y las identificaciones 1 a 4 ya están utilizadas por sus inserciones manuales. Deje las identificaciones fuera de sus inserciones manuales, o establezca explícitamente identificaciones en sus entidades creadas desde su panel de administración, por ejemplo. consultando la identificación máxima actual utilizada en la tabla. Considere cambiar el tipo de generación.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda