Persistance JPA

Signaler
Messages postés
124
Date d'inscription
dimanche 31 août 2008
Statut
Membre
Dernière intervention
16 décembre 2010
-
Messages postés
124
Date d'inscription
dimanche 31 août 2008
Statut
Membre
Dernière intervention
16 décembre 2010
-
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

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
129
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
Messages postés
124
Date d'inscription
dimanche 31 août 2008
Statut
Membre
Dernière intervention
16 décembre 2010

Salut, merci
le id est annoté @id, à ce niveau ya pas de souci
c'est assez bizarre!
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
129
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
Messages postés
124
Date d'inscription
dimanche 31 août 2008
Statut
Membre
Dernière intervention
16 décembre 2010

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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
129
Salut,

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

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

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