Hiberate Probleme, jdbc IDENTITY_INSERT auf OFF festgelegt ist
Ich bin immer JDBC-Fehler wenn ich Versuch ein commit durch hibernate SQL Server
Nicht einfügen expliziter Wert für die Identitätsspalte in Tabelle 'Bericht', wenn IDENTITY_INSERT auf OFF festgelegt ist,
Ich bin mit mappings generiert netbeans enthalten,
<class name="orm.generated.Report" table="Report" schema="dbo" catalog="DatabaseName">
<id name="id" type="int">
<column name="ID" />
<generator class="assigned" />
</id>
Das sieht für mich wie Sie es tun sollten, die Identität legen Sie richtig.
Jede Idee, wie man dieses Problem beheben?
EDIT:
Einige links zur Dokumentation für die Nachwelt,
http://www.hibernate.org/hib_docs/v3/reference/en-US/html/mapping.html#mapping-declaration-id-generator
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie können nicht in einfügen einer identity-Spalte in SQL Server, wenn "IDENTITY_INSERT" ist AUF "on" gesetzt. Seit Ihrer generator-Klasse "zugewiesen" Hibernate ist unter der Annahme, dass Sie einen expliziten Wert für "id" in Java vor dem speichern der Objekt-und Ruhezustand können Sie fügen Sie direkt den Wert in die Datenbank. Sie müssen entweder:
Hier ist etwas, das für mich gearbeitet. Anzupassen, wie gebraucht.
In meinem Fall, die SQL Server-Tabelle, die hatten die gleichen Namen wie die Entity-Klasse. Für Sie ist dies wahrscheinlich nicht wahr. Eine Lösung, dann wäre zu Fragen, den Namen der Tabelle als parameter.
Ändern Sie den Typ der generator-Klasse
BEVOR
NACH
Nun, das wird funktionieren!
versuchen, ändern Sie den Typ der generator-Klasse aus 'zugewiesen' zu 'Identität', es funktionierte für mich
Wäre es am besten, um die Verwendung der wrapper-Klassen wie Integer anstelle von primitiven int.
Unter Ihrem code als ein Beispiel