Gerar o ID antes da inserção, para que os leads de hipoteca possam ser criados

Fixkamo-shared-library
Navios
19 de agosto de 2026 às 02:12 UTC
Autor
Kamo
Enviar
25140e0

Criando um lead em um mercado hipotecário falhou com "Database tabela LEADS faz não existe. Por favor, execute KamoInitializerApp para criar o esquema." A mesa era Pronto. O erro real foi: inserir em leads (...) valores (...) retornando lead id ERRO: a coluna "lead id" não existe (SQLState 42703) A coluna de identificação dos leads é UID. lead id é o @PrimaryKeyJoinColumn do LeadClaimMortgage. Hibernate 6.2 constrói a tabela de raiz INSERT ... Cláusula de VOLTAR do ASSINADA coluna chave do SUBCLASS, então apenas a subclasse quebrou -- um chumbo simples foi Sempre bem, por isso é que os mercados hipotecários falharam. Reproduzido em isolamento; Hibernate 6.5 faz o mesmo mapeamento corretamente, mas Spring Boot 3.1.5 pinos 6.2.13 sobre os serviços que executam isto. AppMortgage (APP UID contra APLICAÇÕES) carregou o defeito idêntico, unhit. Corrigir ambos buscando o id de unique rowid() ANTES da inserção. Hibernar então não tem nada para ler de volta e emite nenhuma cláusula de VOLTA em tudo, que é correto em 6.2 e 6.5 iguais. A mesma sequência de onde a coluna default tira, então ids ficam acima de 2^53 e continuam serializando como strings; os padrões não são tocados e ainda servir SQL bruto. Nenhuma mudança de esquema -- O KamoInitializer não precisa ser executado. Renomear a coluna da chave da criança para corresponder à raiz foi a alternativa óbvia e não é viável: o ddl-auto do KamoInitializer roda antes de cada corredor de migração e adicionaria uma coluna duplicada primeiro, e a chave principal da tabela infantil assenta-se essa coluna, que YugabyteDB não pode remarcar no lugar. @SequenceGenerator on kamo unique rowid seq também é inseguro -- faria da sequência uma exportação que o ddl-auto poderia criar o START COM 1 contra um banco de dados que falta o shim, Distribuindo ids abaixo de 2^53.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços