Bonjour,

J'ai un souci avec mes relations OneToMany :

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
 
@Table(
    name="user",
    uniqueConstraints=
            @UniqueConstraint(columnNames={"mail"})
)
@Entity
@TransactionManagement(TransactionManagementType.CONTAINER)
public class User implements Serializable {
 
    @Id
    @Column(name="id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;
 
    @OneToMany(mappedBy="user")
    private Set<Address> addresses;
}
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
 
@Table(
    name="address"
)
@Entity
@TransactionManagement(TransactionManagementType.CONTAINER)
public class Address implements Serializable {
 
    @Id
    @Column(name="id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;
 
    @ManyToOne
    @JoinColumn(name="user", referencedColumnName="id", nullable = false)
    private User user;
 
}
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
19
20
21
22
23
24
25
26
27
28
 
 
@Stateful
public class EntityRequestImpl implements EntityRequest {
 
   @PersistenceContext
   EntityManager em;
 
 @Override
   public User getUserByMail(String mail){
 
       User user = null;
 
       try {
            Query query = em.createQuery("SELECT u FROM User u WHERE u.mail = ?1");
            query.setParameter(1,mail);
            user = (User) query.getSingleResult();
 
            System.out.println(user.getAddresses().size());
       }
       catch(NoResultException e){
 
       }
 
       return user;
   }
 
}
Mon résultat dans le sout est toujours à 0 malgré la présence de tuples en base. Je cherche une solution depuis des jours.. Qu'est ce qui cloche dans mon code ?

Merci d'avance pour votre aide