2010-08-22 10 views
0

Je viens de remarquer qu'une partie du code que j'ai travaillé économise deux fois la même entité. J'ai essayé plusieurs astuces, comme flush() et Transaction REQUIRES_NEW mais rien ne le fait. Mais je peux voir pendant le débogage qu'après avoir appelé persist (entity), j'obtiens un ID (IDENTITY) pour cette entité ... mais juste un peu plus tard dans le code si je regarde les variables je verrai la même entité avec un ID différent et deux itenties avec ces ID dans la table.JPA persiste deux fois la même entité

est d'utiliser Java EE 6 avec Glassfish 3.0.1

+1

Veuillez ajouter un code de votre entité et le code que vous utilisez pour le conserver. –

+0

Il utilise actuellement du code généré par Netbeans. Dans ce cas, j'ai une servlet appelant la méthode d'un bean session en faisant simplement un getEntityManager(). Persist (entity); Ainsi, lorsque je débogue, juste quelques lignes après que mon servlet appelle le bean session, je peux voir l'ID de l'entité changer et dans la base de données aussi. Et la partie que je suppose serait intéressant dans l'entité: @Id @GeneratedValue (stratégie = GenerationType.IDENTITY) @Basic (en option = false) @Column (name = "MEMBER_ID") privé Entier MemberID; –

+0

Impossible de répondre avec le niveau actuel de détails. S'il vous plaît fournir du code, montrer à quel moment vous "voyez" les différents identifiants. –

Répondre

1

Quel fournisseur JPA utilisez-vous? et quelle version?

Activer la journalisation (sur les plus fins) et inclure le journal de ce qui se produit.

Si vous utilisez EclipseLink pour activer la journalisation voir,

http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging

Quelle est la valeur attribuée à l'ID de votre objet, vérifiez qu'il est> 0. Assurez-vous également que vous table dans la base de données a été générée avec une colonne IDENTITY. Quelle base de données utilisez-vous? Essayez le séquençage TABLE pour voir si cela a à voir avec le séquençage IDENTITY.

Incluez également le code source de votre classe.

Questions connexes