W ciągu ostatnich kilku tygodni większość użytkowników napotkała komunikat o błędzie obliczania Błąd hibernacji SQL 547 sqlstate 23000. Przyczyn tego problemu może być wiele. Rzeczywiście omawiamy to poniżej.
Aplikujemy sytuację:Używamy Hibernate do tworzenia bazy danych Java w klasach Pojo.które są opisane w następujący sposób:
Gdy w rekordzie (tabela: dbo.CodeDocuments) wystąpi następujący błąd
OSTRZEŻENIE: 547, błąd sql: 230006 sqlstate: Luty 2017 14:06:42 org.hibernate.engine.jdbc.spi.LogExceptionsBŁĄD: INSERT sqllexceptionhelper mówiący o konfliktach z zewnętrznym problemem dotyczącym klucza „FK_SaveEvents_CodeDocuments”. Wystąpił konflikt w numerze „OSBLEPlus_eclipse”, tabeli „dbo.CodeDocuments”, kolumnie „Id”.org.hibernate.exception.ConstraintViolationException: daleki od dozwolonegoPodczas wykonywania instrukcji Org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.Have java:112)
Próbowaliśmy pomóc w spełnieniu ograniczenia klucza obcego, dodając:@SecondaryTable(name "dbo =.CodeDocuments")Ale ich zmniejszenie nie może być naszym zadaniem. Nie mogliśmy również zrozumieć, jak zrobić jego poprawną adnotację SecondaryTable. Odpowiedni Fk <-> PK wygląda tak:
CodeDocuments as.sql:CREATE TABLE [dbo].[DocumentsCode] ( [id] INT IDENTITY (1, 1) NIE NULL, [nazwa pliku VARCHAR] (MAX) NOT NULL, VARCHAR(MAX) [Zawartość] NIE NULL, [PK_CodeDocuments_Id] Limit CLUSTERED KEY PRIMARY ([Id] ASC));ZapiszWydarzenia.sql:CREATE TABLE [dbo].[SaveEvents] ( [id] INT IDENTITY(1, 1) NOT NULL, [EventLogId] INT NIE NULL, [DataWydarzenia] DATA CZAS NIE NULL, [nazwa rozwiązania] VARCHAR (MAX) NOT NULL, [ID dokumentu] INT NOT NULL, LIMIT [PK_SaveEvents] KLUCZE PODSTAWOWE W ([Id] KLASTER ASC), OGRANICZENIE [FK_SaveEvents_EventLogs] KLUCZ OBCY ([EventLogId]) ODNIESIENIA [dbo].([Id]), [eventlogs] [FK_SaveEvents_CodeDocuments] OBCY klucz ograniczenia ([identyfikator dokumentu]) [dbo] referencja. [Dokumenty Kodowe] ([Id]));
ASR Pro to rewolucyjne oprogramowanie, które pomaga rozwiązać różne problemy z systemem Windows za pomocą jednego kliknięcia. Jest łatwy w użyciu i może pomóc w szybkim przywróceniu i uruchomieniu komputera. Więc nie cierpij już z powodu problemów z systemem Windows — ASR Pro może pomóc!
Krok 2: Uruchom program i wybierz system, który chcesz przeskanować
Krok 3: Kliknij przycisk Skanuj i poczekaj na zakończenie procesu
Jak ktoś śmie wstawiać dane do 2 tabel, jeśli używa Hibernate POJO, czyli obcych kluczy?
DomyALE”ModelALE”EMCALE”[CDO/Hibernacja/SQLServer] Błąd SQL: 547, stan SQL: 23000
Odp.: [CDO/Hibernate/SQLServer] Błąd SQL: 547, SQLState: 23000 [Post #870238 jest teraz odpowiedź na sygnał #870233]
Pon, 7 maja tego roku, 12:16
Martin Taal Wiadomości: 5468 Podpisano: tylko przed lipcem
Stary członek
Witaj Erdal, Teneo kategoryzuje wygenerowane nazwy ograniczeń fk, tego typu może się zdarzyć w niektórych dużych sytuacjach. Uczenie się na podstawie konfliktów (nie nazw oczywiście) w teraźniejszości, jeśli możesz ustawić tę właściwość/ustawienie jako fałszywe : teneo.naming.set_foreign_key_name
powinno to pomóc Le podkreślić.
Jeśli nie, czy opublikujesz wygenerowany HBM, całkiem możliwe, że raczej konkretną część, która przedstawia twoje ograniczenie? obecny fk Miał możliwość bycia wygenerowane dwa razy?
gr. Marcin
07.05.2012 13:46 Erdal napisał do Karaca: > Jeśli potrzebujesz porady na temat dogłębnych badań:
> Kontener w stylu EClass > – posortowane: flair 0..EClass *
> Styl wdraża Cóż, stylecontainer
> hej, dodanie ograniczenia „KLUCZ OBCY SAME TABLE” ma sens, fragment konfliktu w tym z kolei przypadku…
Martin napisał do pomyślnie taala w poniedziałek 7 maja 2012 r. o 8:16
Cześć Erdal, Teneo generuje czytelne dla człowieka ograniczenia fk, co może prowadzić do kontuzji przy nazywaniu niektórych w specjalnych obszarach (nie oczywiście), w każdej sytuacji powinieneś wypróbować tę właściwość/opcję, biorąc pod uwagę fałsz: teneo.naming.set_foreign_key_name
mam nadzieję, że to pomoże.
Jeśli nie, czy możesz wysłać leda na rynku do hbm, czy raczej konkretnego segmentu, który definiuje limit fk? Produkt może być wygenerowane dwa razy?
gr. Marcin
07.05.2012 13:46 Erdal Karaca napisał: > Torba szybowcowa, do której chcesz mieć najważniejszy prawidłowy link w przyszłości: