Non sapevo che titolo dare, problema:
ho due entity strutturati così:
codice:@Entity(name = "orders") @SequenceGenerator(name = "ordersgenerator", sequenceName = "id_orders_gen") public class Orders implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ordersgenerator") private int idorder; @Temporal(TemporalType.TIMESTAMP) private Date datetime; @ManyToOne @JoinColumn(name = "idcustomer") private Customer idcustomer; @OneToMany(fetch=FetchType.EAGER) private List<Bought> boughtCollection;ora, devo recuperare tutti gli order di un certo utente, lo faccio attraverso uno stateful ejb che ha questo metodo:codice:@Entity(name = "bought") @SequenceGenerator(name = "boughtgenerator", sequenceName = "id_bought_gen") public class Bought implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "boughtgenerator") private Integer idbought; private Integer quantity; @JoinColumn(name = "iditem", referencedColumnName = "iditem") @ManyToOne private Item iditem; @JoinColumn(name = "idorder", referencedColumnName = "idorder") @ManyToOne(fetch=FetchType.EAGER) private Orders idorder;
ho messo 1 a mano perchè l'input da errore qualcuno ha idea del perchè?codice:public List<Orders> getAllOrders(int idc){ List<Orders> items = em.createQuery("from orders o where o.idcustomer= 1).getResultList(); return items; }
il vero problema è che quando stampo la lista:
non sono presenti dei valori in boughtcollection, o meglio, ogni tanto sì e ogni tanto no.codice:orders = mgmt.getAllOrders(1); for (int i = 0; i < orders.size(); i++) { Orders o = orders.get(i); System.out.println(o.getBoughtCollection().size()); }
come devo fare? devo farmi un altro metodo che estragga le boughtcollection?

Rispondi quotando