Requete SQL Hibernate - Java - Programmation
Marsh Posté le 22-01-2009 à 10:36:18
wow, '=' et like, c'est pas trop la même chose, hein, même en HQL.
Avece l'API Criteria, tu peux pas requéter sur l'id, faut passer par un session.load() ou session.get(). Ici, tu pourrais essayer avec ce code qui devrait marcher :
Code :
|
ou un truc du style, j'ai pas la doc sous les yeux là.
P.S.:tu mets tp.employe dans ta requête alors que ton mapping défini utilisateur dans TypePrestation, d'ailleurs, c'est surtout ça ton problème. Mais j'espère que depuis le 16 t'avais trouvé.
Marsh Posté le 16-01-2009 à 17:23:54
Bonjour,
Je code en java, et j'utilise Hibernate,
lorsque je fais dans ma requete une selection des types de prestations par employe,
il met en rouge "employe" apres le where tp.employe
et pourtant dans "hibernate.hbm.xml" j'ai bien mis la reference vers employe.
Ma requete :
<code>
String query = "select tp from TypePrestation tp " +
"where tp.employe.id = :idEmploye ";
</code>
La definition de ma classe dans hibernate.hbm.xml :
TypePrestation :
<code>
<class name="TypePrestation" table="t_typeprestation">
<id name="id" column="id" type="int">
<generator class="sequence">
<param name="sequence">id_sequence</param>
</generator>
</id>
<property name="label" column="label" type="string"/>
<many-to-one name="utilisateur" column="idutilisateur" class="Employe"/>
</class>
</code>
Personne : (Employe herite de Personne)
<code>
<class name="Personne" table="t_personne">
<id name="id" column="Id" type="int">
<generator class="sequence">
<param name="sequence">id_sequence</param>
</generator>
</id>
<property name="nom" column="nom" type="string"/>
<property name="prenom" column="prenom" type="string"/>
<many-to-one name="utilisateur" column="idutilisateur" class="Employe"/>
<joined-subclass name="Employe" table="t_employe">
<key column="id"/>
<property name="matricule" column="matricule"/>
<set name="releves">
<key column="idemploye"/>
<one-to-many class="Releve"/>
</set>
</joined-subclass>
</class>
</code>
Est-ce que quelqu'un pourrait m'aider,
Merci