3 Ocak 2010, Pazar
Hazırda Kriterleri çocuklar FetchType ile birden çok kez döner.İSTEKLİ
OrderTransactions
listesi Order
bir Dersim var ve bir-çok gibi Hazırda eşleme: bir ile eşleştirilmiş
@OneToMany(targetEntity = OrderTransaction.class, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
return orderTransactions;
}
Bu Order
'nin de aşağıdaki Kriterleri filtreleme için kullanılan 8* *bir alan var:
public List<Order> getOrderForProduct(OrderFilter orderFilter) {
Criteria criteria = getHibernateSession()
.createCriteria(Order.class)
.add(Restrictions.in("orderStatus", orderFilter.getStatusesToShow()));
return criteria.list();
}
Bu çalışır ve sonuç olarak excpected.
Şimdiişte benim sorum: Türü açıkça 10**, Order
yapasın diye ayarlanmış zaman, neden, sonuç listesinde birden çok kez s görünür?
@OneToMany(targetEntity = OrderTransaction.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
return orderTransactions;
}
Nasıl değiştirmek zorunda kriterim Yeni ayar ile aynı sonuca ulaşmak için bir kod ki?
CEVAP
4 Ocak 2010, PAZARTESİ
Eran ile bahsedilen, istediğiniz davranış için başka bir yol ek olarak, sonuç trafo ayarlamak için:
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Bunu Paylaş:
FetchType ve Java dayanıklılık TEMBEL ...
Hazırda Beklet: Kriterleri vs HQL...
Hazırda Bekletme aynı anda birden fazl...
Büyük / küçük harf duyarlı Hazırda Kri...
MATLAB'DA dosya başına birden fazla iş...