Salut,
Je souhaiterais avoir un objet qui n'est pas un EJB, de type Cart (caddie), qui contient une liste de Product (ejb) et qui est contenu dans un User.
Pour cela, j'ai déclaré Cart comme @Embeddable, et dans l'attribut Cart de User j'ai mis @Embedded. Jusque là, tout va bien.
Le problème, c'est que quand je récupère le Cart à partir du User, la liste des Product n'est pas chargée, et j'obtiens l'erreur suivante:
LazyInitializationException: failed to lazily initialize a collection of role: ejb.User.cart.products, no session or session was closed
Je ne sais pas comment résoudre le problème, apparemment un problème de session, mais bon je récupère mon User dans la servlet, et je fais un getProductsInCart() directement (ou alors un getCart().getProducts()), et ça me lance cette exception.
Voici le début de la classe Cart:
1 2 3 4 5 6 7 8 9 10 11 12 13
| @Embeddable
public class Cart implements Serializable {
private static final long serialVersionUID = 1L;
@OneToMany
private List<Product> products;
public Cart() {
products = new ArrayList<Product>();
}
...
} |
Une idée?
Partager