Bonjour a tous,

J'ai une requete SQL assez complexe (enfin pour moi :p) a traduire en HQL (Hibernate). Et comme je suis bloque depuis un petit moment, je viens demader votre aide.

Voila la requete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
select * from CUSTOMER_PAYMENT cp where cp.payment_status_code=7
and not exists (select * from CUSTOMER_PAYMENT_FLAG cpf where cpf.customer_payment_id=cp.customer_payment_id
and payment_flag_id=1)
Je suis arrive a ce resultat ... :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
DetachedCriteria contents = DetachedCriteria.forClass(PaymentFlag.class, "pf").add(Expression.eq("id", 7));
 
criteria.createCriteria("payments").add(Expression.eq("paymentStatus", 1)).add(Expression.not(Subqueries.exists(contents.setProjection(Projections.property("pf.id")))));
... qui bien sur ne fonctionne pas.
En fait, je ne sais pas comment traduire ce morceau:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
cpf.customer_payment_id=cp.customer_payment_id
Si quelqu'un pouvais m'aider, ca serait vraiment sympas
Si vous avez besoin de plus d'info (structure des tables? class java?), je peux les fournir.

Merci a vous.

Eco