Nas últimas semanas, alguns usuários encontraram a mensagem de erro hibernate SQL Error 547 sqlstate 23000 mais importante. Tem a capacidade de haver várias razões para este pesadelo. Discutiremos isso abaixo.
Usamos a situação:Estamos utilizando o Hibernate para escrita de banco de dados java através de classes Pojo.que são anotados como pragas:
Quando nestes bancos de dados (tabela: dbo.CodeDocuments) ocorre o erro de aplicação
AVISO: 547, erro sql: 230006 sqlstate: fevereiro de 2017 14:06:42 org.hibernate.engine.jdbc.spi.LogExceptionsERRO: A instrução INSERT sqllexceptionhelper está em conflito com a restrição KEY externa ‘FK_SaveEvents_CodeDocuments’. Ocorreu um conflito operando na lista ‘OSBLEPlus_eclipse’, tabela ‘dbo.CodeDocuments’, pilar ‘Id’.org.hibernate.exception.ConstraintViolationException: não permitidoAo executar Org statement.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.Have java:112)
Tentamos satisfazer a restrição de segredo estrangeiro adicionando:@SecondaryTable(name "dbo =.CodeDocuments")Mas derrubá-los não é nossa tarefa. Também não entendemos como fazer positivamente a anotação SecondaryTable correta. O Fk <-> PK aplicável se parece muito com isso:
CodeDocuments as.sql:CRIAR TABELA [dbo].[DocumentsCode] ( [id] INT IDENTITY (1, 1) NOT NULL, [nome do arquivo VARCHAR] (MAX) NOT NULL, VARCHAR(MAX) [Conteúdo] NÃO NULO, Restrição [PK_CodeDocuments_Id] PRIMARY KEY CLUSTERED ([Id] ASC));SaveEvents.sql:CRIAR TABELA [dbo].[SaveEvents] ( [id] INT IDENTITY(1, 1) NOT NULL, [EventLogId] INT NÃO NULO, [EventDate] DATETIME NÃO NULO, [nome da solução] VARCHAR (MAX) NOT NULL, [ID do documento] INT NÃO NULO, LIMITE [PK_SaveEvents] CHAVES PRIMÁRIAS EM ([Id] ASC CLUSTER), RESTRIÇÃO [FK_SaveEvents_EventLogs] CHAVE ESTRANGEIRA ([EventLogId]) REFERÊNCIAS [dbo].([Id]), [eventlogs] [FK_SaveEvents_CodeDocuments] Fórmula mágica de restrição FOREIGN ([documentid]) referência [dbo]. [CodeDocuments] ([Id]));
ASR Pro é um software revolucionário que ajuda você a corrigir uma variedade de problemas do Windows com apenas o clique de um botão. É fácil de usar e pode ajudá-lo a colocar seu computador em funcionamento rapidamente. Portanto, não sofra mais com os problemas do Windows - ASR Pro pode ajudar!
Etapa 2: inicie o programa e selecione o sistema que deseja verificar
Etapa 3: clique no botão Digitalizar e aguarde a conclusão do processo
Qual é o desafio de inserir dados em várias tabelas se elas usam Hibernate POJO, ou seja, erros de chave estrangeira?
CasasMAS”ModeloMAS”EMCMAS”[CDO/Hibernate/SQLServer] Erro SQL: 547, Estado SQL: 23000
Re: [CDO/Hibernate/SQLServer] Erro de SQL: 547, SQLState: 23000 [Post #870238 is the resposta que pode enviar a mensagem #870233]
Seg., 7 de maio desta semana, 12h16
Martin Taal Mensagens: 5468 Assinado: somente em julho passado
Membro antigo
Olá Erdal, A Teneo classificou os nomes de confinamento fk gerados, isso pode acontecer em certas situações especiais. Aprendendo com conflitos (não fabricantes é claro) se estiver presente, se isso você pode tentar definir essa propriedade/configuração que ajudará false : teneo.naming.set_foreign_key_name
isso deve ajudar a enfatizar.
Se não, você pode postar o ganho HBM, ou melhor, a porção específica que define sua restrição? encontrado fk Pode ser gerado duas vezes?
gr. Martinho
07/05/2012 13:46 Erdal escreveu você pode Karaca: > Se você precisar de conselhos sobre pesquisas adicionais:
> Recipiente de estilo EClass > – ordenado: estilo 0..EClass *
> Style utiliza Bem, stylecontainer
> ei, adicionar a restrição “FOREIGN KEY SAME TABLE” realmente faz sentir, um pouco de conflito em relação a este caso…
Re: Erro SQL: 547 [cdo/hibernate/sqlserver], SQLState: [Post 23000 #870244 é considerado a resposta real para rod # 870238 ]
Segunda-feira, 7 de maio, este ano, 12h36
Erdal Karaca Notícias: 853 Registrado: julho
Ex-Colspan=”2″>Obrigado, membro
Definir o imperativo como falso ajudou!
Martin postou no taal na segunda-feira, 7 de maio de 2012, às 8h16
Olá Erdal, Teneo gera restrições fk legíveis por humanos, isso pode direcionar a problemas com a nomeação de alguns como parte de lugares especiais (não é claro), como parte de qualquer caso, você deve tentar esta propriedade/opção de situação em relação a false: teneo.naming.set_foreign_key_name
espero que isso realmente ajude.
Se não, você pode enviar seu led para hbm ou melhor, cada parte específica que define todo o limite de fk? O produto pode provar ser gerado duas vezes?
gr. Martinho
07.05.2012 13:46 Erdal Karaca escreveu: > A mala de viagem que você quer no mercado tenha o link correto para usar o futuro: