Bonjour,
J'ai 3 classes : User 1 ----> 1 UserDetail 1 ----> (1,n) Authority
Quand je load un User par le code suivant
j'obtiens bien un User, mais quand je fais user.getUserDetail().getAuthorities(),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Criteria crit = getSession().createCriteria(User.class); crit.add(Restrictions.idEq( 1L )); crit.setFetchMode("userDetail.authorities", FetchMode.JOIN); user = (User) crit.uniqueResult();
le premier élément de la liste est null (pour le premier user), les 2 premiers éléments de la liste
sont null (pour le deuxième user) et ainsi de suite.
List authorities = user.getUserDetail().getAuthorities() = [[null, com.ixo.security.Authority@62d337d3]
Avez vous une idée du pourquoi je m'arrache les cheveux ????????
PS: Hibernate core 3.3.2 GA / Hibernate Annotion 3.4.0 GA / Postgre 8.4 / jdbc driver 3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @Entity public Class User { @Embedded private userDetail userDetail; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @Embeddable public Class UserDetail { @CollectionOfElements(targetElement = Authority.class, fetch = FetchType.LAZY) @JoinTable(name = "Authority", joinColumns = "USERS_ID" ) @IndexColumn(name="INDEX_COL") @Column(name = "Authority", nullable = false) private List<Authority> authorities = new LinkedList<Authority>(); }Si vous avez une piste, Merci !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @Embeddable public Class Authority { private String authority; }
Akeduc
Partager