Bonjour,

Je n'arrive pas à faire fonctionner le lazy load en utilisant HQL.
Le lazy est ok si on utilise l'API hibernate du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
session.get(MonObj.class, monId)
mais pas en HQL:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select DISTINCT monObj from MONOBJ mon Obj where //ma clause
Du coup j'utilise des inner join FETCH pour améliorer un peu les perfs, mais j'aimerais que les collections associées ne soit pas du tout récupérées dans la requête (je vois que c'est le cas en affichant les requêtes générées, et surtout avec le temps de réponse)

Voici un exemple de table, associé à cette requête, qui ne fonctionne pas:

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
@Table...
@Entity...
public class MonObj{
 
	@Id
	@Column(name="MONID")
	private Integer monId;
 
        //Autres...
 
        @OneToMany(fetch = FetchType.LAZY, cascade=CascadeType.ALL, orphanRemoval=true)
        @JoinColumn(name="IDMOTIF")
        @Fetch(FetchMode.JOIN)
        private Set<MaTableAssociation> monAssociation = new HashSet<MaTableAssociation>();
 
        //...
}
Savez vous comment je peux dire à ma requête HQL de charger tout sauf une certaine collection svp?

Merci d'avance !