Bonjour,
J'ai une requête SQL donc j'aurais besoin de convertir la syntaxe pour pouvoir l'exécuter avec une criteria dans ma couche de persistance.
Voici la requête :
Code:
select last_name
from member
where
member.end_date > SYSDATE
group by member.last_name
having count(member.last_name) >1;
J'ai déjà essayé beaucoup de choses, mais il n'y a rien à faire, je n'arrive pas à obtenir le résultat voulu ... Voici ce que j'ai déjà testé au niveau de mon code :
Code:
Criteria criteria = getSession(false).createCriteria(Member.ENTITY_NAME);
criteria.setProjection(Projections.projectionList()
.add(Projections.groupProperty("lastName"))
.add(Projections.count("lastName").as("cptLastName"))
);
criteria.add(Restrictions.ge("endDate", now))
.add(Restrictions.le("startDate", now))
//.add(Restrictions.gt("cptLastName", new Integer(1)))[/color]
.addOrder(Order.asc("lastName"))
;
En tapant cela sans la ligne en commentaire, j'obtiens une liste d'objets avec le nom et le nombre d'occurence dans la base de donnée ... mais dès que je veux la rajouter, il m'indique :
java.sql.SQLException: ORA-00904: "Y1_": invalid identifier
Je pense n'être pas loin de la solution ... Y aurait-il quelqu'un pouvant m'aider ?
Si vous avez des questions, n'hésitez pas à m'en faire part ;-)
Merci d'avance