2012-02-14 4 views
0

Je voulais changer staus de "insertion" à "Terminer" lorsque l'insertion de données est terminée usinmg hibernate. J'ai des tables en tant qu'utilisateur et un autre DETAILS.Ils ont une relation de one-to-many. Initialement, j'insère des valeurs USER en tant que prénom, statut. Puis ses valeurs DETAILS comme phno.hibernate dernier enregistrement id

pendant que j'insère dans la table USER je veux garder l'état comme 'insertion' quand j'entre les valeurs dans les DÉTAILS je veux changer l'état à "finir".

que je fais comme,

//Parent table 
USER user = new USER(); 
user.setFirstName("A"); 
user.setStatus("inserting"); 
session.save(user); 
//Child table 
DETAILS details = new DETAILS(); 
details.setPhone("12345"); 

details.setManyToOne("user"); 
user.getdetailSet().add(details); 
session.save(details); 

Comment puis-je achive de changer de statut à « Terminer » de « l'insertion » après le code ci-dessus.

Merci d'avance.

Répondre

0

Err,

user.setStatus("Finish"); 

Suis-je manque quelque chose?

+0

En fait, je voulais quelque chose comme .I M insertion de plusieurs enregistrements dans la table DETAILS.Cet état de temps devrait être "insertion" dans la table USER.Lorsque l'insertion est terminée, je veux faire «Terminer» dans la table USER. J'ai lu quelque chose comme j'ai besoin de capturer le dernier identifiant d'insertion dans la table USER et une fois que je l'ai eu je mettrai à jour l'état. Est-ce possible ? –

+0

Pourquoi auriez-vous besoin du dernier ID inséré dans la table Utilisateur. Vous avez une entité Utilisateur et elle est attachée à la session. Chaque modification apportée à cet utilisateur sera enregistrée dans la base de données par Hibernate. Avez-vous lu le manuel de référence d'Hibernate et compris comment cela fonctionnait? –