Persistance JPA

cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 26 août 2010 à 03:25
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 27 août 2010 à 06:35
Bonjour à tous,
j'ai un problème lors de la persistance d'un objet dans ma base(hsqdb)
je m'en rends compte lorsque j'essai de m'identifier en saisissant le pass et le login:

voici la requête:em etant l'entity manager...

...	
Query q em.createQuery("select u from Annonceur u where u.login :login and u.password = :password");

q.setParameter("login",login);
q.setParameter("password",password);
...	



}

le probleme est assez bizarre:
avec avec cette requête j'essaie de recuperer l'entity Annonceur:alors ça fait erreur!, parceque le id de cette annonceur est null!!, et je ne sais pas pour quelle raison il est toujours null!!!

mais si je voulais récuperer par exemple le nom de l'annonceur:

Query q em.createQuery("select u.nom from Annonceur u where u.login :login and u.password =:password"); la ça marche, je récupere bien le nom!!

notez que je suis sur jpa/hibernate, la strategie de génération de clé primaire est AUTO
j'utilise la basse de donnée HSQLDB

pour résumer,je voulais mettre l'annonceur lorsque il est identifié(connecté) dans une session,
mais avec ce probleme je ne peux pas , car je ne peux pas récupérer son id!!, ou l'entity annonceur lui meme!!

Merci pour votre aide

6 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 août 2010 à 07:45
Salut,

Au niveau de ton EntityBean, ca donne quoi : déclaration de ton id notamment.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010
26 août 2010 à 08:07
Salut, merci
le id est annoté @id, à ce niveau ya pas de souci
c'est assez bizarre!
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 août 2010 à 09:11
Salut,

Et quand tu fais une sauvegarde d'un bean en base, il n'y a pas d'erreur ? Il te crée un enregistrement avec un id null ou pas ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010
26 août 2010 à 17:47
Quand je fais persister un bean dans la base, il n'ya pas d'erreur, justement c'est pour ça que je peux récupérer
par exemple tous les champs d'une entitie sauvegardée sauf le ID!
le ID est à null!

est ce que ce n'est pas une histoire de relation entre classe?:manyToMany,manyToOne...

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 août 2010 à 17:53
Salut,

Ben là j'ai pas vraiment d'idée.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010
27 août 2010 à 06:35
Rebonjour,

toujours dans le même problème!
je souhaite récupérer mon entitie Annonceur , est ce que cette syntaxe est bonne?
[u]em designe l'entityManager de JPA
/u
public Annonceur findEntityByLoginPassword2(String login,String password) {
try { 
Query q em.createQuery("select u from Annonceur u where u.login :login and u.password = :password");
q.setParameter("login",login);
q.setParameter("password",password);

return (Annonceur) q.getSingleResult();

} catch (Exception e) {
System.out.println("oups!");
return null;

}


}

merci
0
Rejoignez-nous