xsalefter wrote: > Hi juggers, > Saya mau tanya. Misalnya saya punya query: > List<Order> orderList = session.createQuery("from Order"); > > Kan hasilnya berupa list dari class Order, dimana class ini sudah > memiliki property (atau getter-setter) masing2. > > Hasil dari query di atas bisa saya ambil pake: > > for (Order order : orderList) { > System.out.println("ID: " + order.getId()); > System.out.println("Amount : " + order.getAmount()); > // etc.. > } > > Sekarang kalo saya punya query, misalnya: > > List<Order> = session.createQuery("SELECT COUNT(o.id), MAX(o.amount) > from Order o"); > > Bagaimana caranya menampung result object tersebut? Yang saya baca, > hal ini bisa diatasi dengan pake annotation @SqlResultSetMapping. Tapi > class yang harus dituliskan di @EntityResult harus entity class, ga > bisa pojo biasa. > > Kalo saya buat transient property, @Transient getter-setter, di entity > class, class entity saya bakal kotor dengan Annotation dan field > transient untuk nampung hasil report. > > Ada ga cara untuk mapping result query ke class yang bukan entity > class. Atau ada ga cara lain (supaya code lebih readable, dan maybe > maintainable) selain cara yang sudah saya sebut di atas? Googling pake > keyword: > - designing report result with hibernate > - complex reporting query using jpa or hibernate > - @SqlResultSetMapping in hibernate > Ga menghasilkan hasil yang memuaskan nih.. :( > > Kalo ada yang tau, just give me the link. Or di buku apa halaman > berapa saya harus baca? > Makasih sebelumnya.. >
Saya bilang sih ini memaksakan Hibernate. Untuk hal seperti begini lebih gampang pakai JDBC atau iBatis. Yang anda perlukan bukan pengetahuan tapi kebijaksanaan :-p He he he.