- Verschifft
- 19. August 2026 um 02:12 UTC
- Autor
- Kamo
- Ausschuss
- 25140e0
Schaffung eines Vorsprungs auf einem Hypothekenmarkt gescheitert mit "Datenbank Tabelle LEADS tut nicht existieren. Bitte führen Sie KamoInitializerApp aus, um das Schema zu erstellen". Die Tabelle war da. Der eigentliche Fehler war: in Leads (...) Werte einfügen (...) zurückgeben ERROR: Spalte "lead_id" existiert nicht (SQLState 42703) Lead' ID-Spalte ist UID. lead_id ist LeadClaimMortgage's @PrimaryKeyJoinColumn. Hibernate 6.2 baut die Wurzeltabelle INSERT ... RÜCKKAUFT-Klausel aus der JOINED SUBCLASS's Schlüsselsäule, also brach nur die Unterklasse -- ein schlichter Lead war immer gut, weshalb genau die Hypothekenmärkte versagten. Verfilmt in Isolation; Hibernate 6.5 macht die gleiche Mapping korrekt, aber Spring Boot 3.1.5 Pins 6.2.13 auf die Dienste, die diese laufen. AppMortgage (APP_UID gegen APPLICATIONS) trug den identischen Defekt, unhit. Beheben Sie beides, indem Sie die ID von unique_rowid() VOR dem Einlegen holen. Hibernate dann hat nichts zurück zu lesen und emittiert keine RETURNING-Klausel überhaupt, die ist korrekt auf 6.2 und 6.5 gleichermaßen. Gleiche Reihenfolge die Spalte Standard zieht aus, so IDs bleiben über 2x53 und halten Serialisieren als Strings; die Standardeinstellungen sind unberührt und weiterhin roh SQL servieren. Kein Schema-Änderung -- KamoInitializer muss nicht laufen. Die Umbenennung der Schlüsselsäule des Kindes nach der Wurzel war die offensichtliche Alternative und ist nicht lebensfähig: KamoInitializer's ddl-auto läuft vor jedem Migrationsläufer und würde zuerst eine doppelte Spalte hinzufügen, und der PRIMARY KEY des Kindertisches sitzt auf die Spalte, die YugabyteDB nicht an Ort und Stelle umzubenennen. @SequenceGenerator auf kamo_unique_rowid_seq ist auch unsicher -- es würde die Sequenz ein exportierbares machen dass ddl-auto START MIT 1 gegen eine Datenbank ohne Shim erstellen könnte, Aushändigen von IDs unter 2-53.