我有一個Order
類,它具有的OrderTransactions
名單,我和一個一對多的Hibernate映射像這樣它映射:休眠條件返回兒童多次與FetchType.EAGER
@OneToMany(targetEntity = OrderTransaction.class, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
return orderTransactions;
}
這些Order
小號也有一個字段orderStatus
,其用於用以下標準篩選:
public List<Order> getOrderForProduct(OrderFilter orderFilter) {
Criteria criteria = getHibernateSession()
.createCriteria(Order.class)
.add(Restrictions.in("orderStatus", orderFilter.getStatusesToShow()));
return criteria.list();
}
這工作,其結果是如預期。
現在這裏是我的問題:爲什麼,當我設置抓取明確鍵入EAGER
,做Order
小號出現在結果列表中多次嗎?
@OneToMany(targetEntity = OrderTransaction.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
return orderTransactions;
}
我將如何更改標準碼以達到與新設置相同的結果?
您是否嘗試過啓用show_sql來查看下面發生了什麼? – 2010-01-03 14:29:21
請增加OrderTransaction和Order類的代碼。\ – 2010-01-03 15:24:55