Hiberate problèmes, jdbc IDENTITY_INSERT est réglé sur OFF
Je suis JDBC d'erreur lorsque je tente une validation par hibernate pour SQL Server
Impossible d'insérer une valeur explicite pour l'identité de la colonne dans la table 'Rapport' lorsque IDENTITY_INSERT est réglé sur OFF
Je suis en utilisant les mappages généré par netbeans qui contiennent,
<class name="orm.generated.Report" table="Report" schema="dbo" catalog="DatabaseName">
<id name="id" type="int">
<column name="ID" />
<generator class="assigned" />
</id>
Qui ressemble pour moi comme il devrait le faire à l'identité insérer correctement.
Aucune idée sur comment résoudre ce problème?
EDIT:
Quelques liens vers de la documentation, pour la postérité,
http://www.hibernate.org/hib_docs/v3/reference/en-US/html/mapping.html#mapping-declaration-id-generator
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml
OriginalL'auteur James McMahon | 2009-01-16
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas insérer dans une colonne d'identité dans SQL Server, sauf si "IDENTITY_INSERT" est réglé SUR "on". Depuis votre générateur de classe est "attribué", Hibernate est en supposant que vous définissez une valeur explicite pour les "id" en Java avant l'enregistrement de l'objet et que Hibernate peut directement insérer la valeur dans la base de données. Vous devez soit:
Juste pour préciser, je voulais dire, par la résolution de ce problème, j'ai découvert un autre.
OriginalL'auteur cliff.meyers
Voici quelque chose qui a fonctionné pour moi. S'adapter selon les besoins.
Dans mon cas, le Serveur SQL de la table avait le même nom que la classe d'Entité. Pour vous, ce n'est probablement pas vrai. Une solution, alors, serait de demander le nom de la table en tant que paramètre.
Je vous suggère de créer une nouvelle question, en demandant expressément que (peut citer ce code et de demander une JPA équivalent). Vous auriez plus de chances d'avoir votre problème résolu de cette façon.
Oui merci, j'avais effectivement fait et j'ai trouvé la solution. Ensuite, j'ai répondu à ma propre question. Vous pouvez trouver à cette question en vertu de mon profil.
stackoverflow.com/questions/28945204/...
OriginalL'auteur acdcjunior
Changer le type de la classe generator
AVANT
APRÈS
Maintenant cela fonctionne!
OriginalL'auteur lucy
essayer de changer le type de la classe generator de "attribuées" à "identité", il a travaillé pour moi
OriginalL'auteur lila
Il serait préférable d'utiliser les classes wrapper comme Entier au lieu de la primitive int.
De prendre votre code comme exemple
merci de m'aider à sortir de la boue 🙂
Grande édition! marche à suivre 🙂 +1
OriginalL'auteur nikosstais