Я использую IBM RAD 7.5 и WebSphere 7.Отсутствие у меня отношений OneToMany от JPA?
У меня есть два объекта с отношениями OneToMany (скажем, Клиент и Заказ). Когда я создаю клиента с ордером, оба объекта будут сохраняться правильно. У меня есть fetch = FetchType.EAGER, но когда я читаю объект Customer, он не содержит никаких ордеров.
Что я делаю неправильно? Вот код ...
@Entity
@Table(name="CC_CUSTOMER")
public class Customer implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private BigDecimal id;
@OneToMany(cascade=CascadeType.ALL,mappedBy="customer",fetch=FetchType.EAGER)
private List<Order> orderList;
public List<Order> getOrderList() { return this.orderList; }
public void setOrderList(List<Order> orderList) { this.orderList = orderList; }
/*...*/
}
... и ...
@Entity
@Table(name="CC_ORDER")
public class Order implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
@ManyToOne
@JoinColumn(name="customerid",nullable=false)
private Customer customer;
public Customer getCustomer() { return this.customer; }
public void setCustomer(Customer customer) { this.customer = customer; }
/*...*/
}
Что я делаю неправильно?
Кроме того, здесь то, что мой DAO выглядит ...
@Stateless
public class CustomerDAO {
public List<Customer> getAll() {
List<Customer> customers = new ArrayList<Customer>();
EntityManager em = getEntityManager();
try {
Query query = em.createQuery("select c from Customer c");
customers.addAll(query.getResultLists());
} finally {
em.close();
}
}
return customers;
}
Любые советы или предложения высоко оценили, спасибо! Rob
Как вы сохраняете свои сущности? ... сохраняя заказ или сохраняя Клиента? –
Я предполагаю, что вы сделали тип, когда отправляли свой код в методе 'getOrderList'? – Perception
Я сохраняю Заказчика. В частности: «Клиент c = новый Клиент(); Заказ o = новый заказ(); . C.getOrderList() добавить (о); customerDAO.createCustomer (с);» –