Ich bekomme einen JDBC-Fehler, wenn ich einen Commit durch den Ruhezustand an SQL Server
versucheKann keinen expliziten Wert für die Identitätsspalte in der Tabelle 'Report' einfügen, wenn IDENTITY_INSERT auf OFF gesetzt ist
Ich verwende Mappings, die von Netbeans erzeugt werden, die
enthalten %Vor%Was mir so aussieht als müsste es sein das die Identität korrekt eingefügt wird.
Irgendeine Idee, wie Sie das beheben können?
BEARBEITEN:
Einige Links zur Dokumentation, für die Nachwelt,
Ссылка
Ссылка
Sie können nicht in eine Identitätsspalte in SQL Server einfügen, wenn "IDENTITY_INSERT" nicht auf "ON" gesetzt ist. Da Ihre Generatorklasse "zugewiesen" ist, geht Hibernate davon aus, dass Sie vor dem Speichern des Objekts einen expliziten Wert für "id" in Java festlegen und dass Hibernate den Wert direkt in die Datenbank einfügen kann. Sie müssen entweder:
Hier ist etwas, das für mich funktioniert hat. Bei Bedarf anpassen.
%Vor%In meinem Fall hatte die SQL Server-Tabelle denselben Namen wie die Entity-Klasse. Für Sie ist das wahrscheinlich nicht wahr. Eine Lösung wäre also, den Tabellennamen als Parameter zu fragen.
Es wäre am besten, Wrapper-Klassen wie Integer anstelle von primitivem int. zu verwenden.
Nehmen Sie Ihren Code als Beispiel
%Vor%Tags und Links sql sql-server hibernate jdbc