Hibernate Group-By Query menggunakan Kriteria
Dalam soalan ini, pengguna mendapatkan bantuan dalam melaksanakan pertanyaan SQL dengan Kriteria Hibernate. Pertanyaan melibatkan mengumpulkan hasil berdasarkan lajur, menggunakan fungsi pengagregatan dan menapis rekod berdasarkan perbandingan dengan nilai.
Untuk mencapai ini menggunakan Kriteria Hibernate, pengguna boleh menggunakan kaedah groupProperty() pada Objek kriteria dan gabungkannya dengan fungsi pengagregatan yang berkaitan yang disediakan oleh kelas Unjuran. Sebagai contoh, pertimbangkan pertanyaan SQL berikut:
SELECT column_name, max(column_name), min(column_name), count(column_name) FROM table_name WHERE column_name > xxxxx GROUP BY column_name
Objek Kriteria Hibernate yang sepadan ialah:
List result = session.createCriteria(SomeTable.class) .add(Restrictions.gt("someColumn", xxxxx)) .setProjection(Projections.projectionList() .add(Projections.groupProperty("someColumn")) .add(Projections.max("someColumn")) .add(Projections.min("someColumn")) .add(Projections.count("someColumn"))) .list();
Ringkasnya, dengan menggabungkan groupProperty() dan fungsi agregat daripada Projections, Hibernate Objek kriteria menyediakan mekanisme yang berkuasa untuk melaksanakan pertanyaan kumpulan mengikut kumpulan dengan cekap.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan Kumpulan-Mengikut dalam Hibernate Menggunakan Kriteria?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!