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:
mais pas en HQL:Code:
1
2 session.get(MonObj.class, monId)
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)Code:select DISTINCT monObj from MONOBJ mon Obj where //ma clause
Voici un exemple de table, associé à cette requête, qui ne fonctionne pas:
Savez vous comment je peux dire à ma requête HQL de charger tout sauf une certaine collection svp?Code:
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>(); //... }
Merci d'avance !