Bonjour tout le monde,

J’ai un problème au niveau d’une requête, j’ai une classe contrat qui possède plusieurs éléments du contrat.
La classe ElementContrat est la classe mère de plusieurs classes qui présentent les éléments d’une contrat parmi eux EcheancierPaiementPrime .ci-dessous mes classes java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
public class Contrat 
{
private Set<ElementContrat> elementsContrat;
private StatutContrat statut;
}
 
public class EcheancierPaiementPrime 
{
	private StatutEcheancier statut ;
	private Date dateProchainVersement;
}
 
public abstract class ElementContrat 
{
Private Long id ;
}
J’ai besoin de récupérer tous els contrats ayant un statut « en cours « et son échéancier de prime ayant une date inférieur ou égale à la date du jour.
Voici ma requête HQL qui me récupère tous les contrats ayant le statut en cours ou en attente de fonds:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Query query = getCurrentSession().createQuery(
                "from Contrat contrat where contrat.statut=:statutEnCours or contrat.statut=:statutEDF");
 
      query.setParameter("statutEnCours", StatutContrat.EN_COURS);
      query.setParameter("statutEDF",StatutContrat.EN_ATTENTE_DE_FONDS);
      List<Contrat> contrats = (List<Contrat>) query.list();
Cette requête me récupère tous les éléments du contrat, or moi j’ai besoin que du « EcheancierPaiementPrime » !
Svp, aidez moi j’ai besoin de l’optimisation de ma requête.

Merci infiniment d’avance