Bonjour, j'ai un annuaire, chaque utilisateur s'inscrit et peut inscrire autant de site qu'il le souhaite.
J'ai donc les entité MappedSite et MappedUsers :
Sur ma page d'accueil je liste les derniers sites inscrit, je ne fais à aucun moment référence à l'utilisateur, je n'invoque pas getIdUsers
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
18 @Entity @Table(name = "site") public class MappedSite extends MappedSuper implements Serializable { [...] @JoinColumn(name = "id_user", referencedColumnName = "id") @ManyToOne(fetch = FetchType.LAZY) private MappedUsers idUser; [...] } @Entity @Table(name = "users") public class MappedUsers implements Serializable { [...] @OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "idUser") private Collection<MappedSite> mappedSiteCollection; [...] }
en gros j'utilise simplement un Criteria query avec une limit et un offset (qui est de 0 quand on charge la page)
je me suis mis en mode debug et j'ai vu énormément de requêtes uniques vers la table users du style :
Alors que je n'utilise pas d'objet MappedUsers, nul part, et ça m'ennuie car ces requêtes sont inutile le Lazy Loading semble ne pas fonctionner ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [EL Fine]: sql: 2019-05-21 03:26:47.653--ServerSession(1843021226)--Connection(1504957408)--Thread(Thread[http-nio-8443-exec-187,5,main])--SELECT ... FROM users WHERE (id = ?) bind => [208]
Merci pour votre aide.
Partager