Hibernate Books

All times are UTC - 5 hours [ DST ]



Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Rentranscrire une requete sql en criteria hibernate.
PostPosted: Wed Nov 18, 2015 4:41 am 
Newbie

Joined: Tue Nov 17, 2015 11:53 am
Posts: 4
Bonjour,

Je suis dans une impasse alors que j'utilise les criteria en hibernate et j'espère trouvé de l'aide dans ce forum dont je ne connaissait meme pas l'existence avant!

J'ai une requete sql ici :
Code:
SELECT *
FROM PERSON
WHERE
    BIRTH_DATE IS NOT NULL
    AND (YEAR(GETDATE()) - YEAR(BIRTH_DATE)) in(6,18,26)
ORDER BY
    MONTH(BIRTH_DATE) ASC,
    DAY(BIRTH_DATE) ASC


En un mot cette requete me retourne toutes les personnes agés de 6, 18 et 26 ans ordoné par le mois et le jour de leur date de naissance.
La délicatesse ici réside dans le fait que j'utilise les fonction SQL YEAR(), MONTH(), DAY() et GETDATE() et que lorsque j'essaie d'utiliser dans mon order j'ai une erreur disant que :
Code:
org.hibernate.QueryException: could not resolve property: month(birthDate) of: org.domain.Person

Sans compter le fait que je ne vois aucun moyen de retranstrire la clause (YEAR(GETDATE()) - YEAR(BIRTH_DATE)) non plus =/.

Code:
Criteria criteriaBirthDates = this.getSession().createCriteria(Person.class);
criteriaBirthDates.add(Restrictions.isNotNull("birthDate"));
criteriaBirthDates.addOrder(Order.asc("month(birthDate)"));
criteriaBirthDates.addOrder(Order.asc("day(birthDate)"));
return criteriaBirthDates.list();


Est-ce que quelqu'un pourrait m'aider à retranscrire la requete sql en criteria s'il vous plait...?

Merciii


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.