probleme jointure hibernate
bonjour tout le monde, j'ai un probleme au niveau de récuperation d'un champs.
je passe en parametre le nom d'un client et je voudrais récuperer le nom de ce client , date reservation et les info concernant la reservation de ce client.dans la table reservation j'ai comme champs le code_client,
donc il faut que je fasse une jointure entre la table client et reservation,mais cette jointure ne marche pas.
voila le code de la requete:
Code:
1 2 3 4 5 6 7
| public List resultatReservation(String input) {
Session session = HibernateSessionFactory.currentSession();
List list=(List)session.createQuery("from Client , Reservation " +
"where Client.CODE_CLIENT=Reservation.CODE_CLIENT and NOM like '"+input+"' ").list();
return list;
} |
pour lister la requete:
Code:
1 2 3 4 5 6 7 8 9
| String nom="client nom";
ReservationService rs =new ReservationService();
Reservation r=new Reservation();
Iterator it=rs.resultatReservation(nom).iterator();
while(it.hasNext())
{
r=(Reservation)it.next();
System.out.println("nom :"+r.getClient().getNom()) ;
} |
erreur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxError: Invalid path: 'Client.CODE_CLIENT' [from com.gh.model.Client , com.gh.model.Reservation where Client.CODE_CLIENT=Reservation.CODE_CLIENT and NOM like 'client nom' ]
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:63)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:196)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at com.gh.service.ReservationService.resultatReservation(ReservationService.java:63)
at com.gh.model.Application.main(Application.java:229)
Caused by: Invalid path: 'Client.CODE_CLIENT'
at org.hibernate.hql.ast.LiteralProcessor.lookupConstant(LiteralProcessor.java:85)
at org.hibernate.hql.ast.DotNode.resolve(DotNode.java:172)
at org.hibernate.hql.ast.FromReferenceNode.resolve(FromReferenceNode.java:87)
at org.hibernate.hql.ast.FromReferenceNode.resolve(FromReferenceNode.java:83)
at org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:463)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:863)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:3713)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3190)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1405)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1330)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:599)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:404)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
... 8 more |
merci pour votre aide