İçeriğe geç

Erken Materyalizasyon (ARCH4056)

Anahtar java.orm.early-materialization · Önem warning · Kategori orm

Sorguyu listeye materyalize ettikten sonra bellekte filtrelemek/sıralamak, veritabanına itilmesi gereken işi uygulamaya taşır. Filtreyi sorguya gömün.

List<Order> all = orderRepository.findAll();
List<Order> paid = all.stream()
.filter(o -> o.getStatus() == PAID) // tüm tablo bellekte
.collect(toList());
List<Order> paid = orderRepository.findByStatus(OrderStatus.PAID);

Filtre/sıralama/agregasyonu WHERE/ORDER BY ile veritabanına itin, bellekte değil.