Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Klausa GROUP BY dalam Hibernate Menggunakan API Kriteria?

Bagaimana untuk Melaksanakan Klausa GROUP BY dalam Hibernate Menggunakan API Kriteria?

Patricia Arquette
Lepaskan: 2025-01-02 22:48:39
asal
887 orang telah melayarinya

How to Implement GROUP BY Clause in Hibernate Using Criteria API?

Melaksanakan Kumpulan mengikut Objek Kriteria dalam Hibernate

Dalam Hibernate, Criteria API membenarkan anda membina pertanyaan kompleks dan mendapatkan semula data daripada pangkalan data menggunakan objek -kriteria berorientasikan. Untuk melaksanakan pertanyaan SQL menggunakan API Kriteria, anda perlu menggunakan kaedah createCriteria() dalam sesi Hibernate.

Untuk pertanyaan SQL seperti:

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name <operator> value
GROUP BY column_name
Salin selepas log masuk

Anda boleh menggunakan groupProperty () kaedah kelas CriteriaQuery untuk mengumpulkan hasil mengikut lajur yang ditentukan. Anda juga boleh menggunakan fungsi agregat yang disediakan oleh kelas Unjuran untuk melaksanakan operasi agregat yang diingini.

Berikut ialah contoh cara anda boleh melaksanakan pertanyaan ini menggunakan Kriteria Hibernate:

CriteriaQuery<Tuple> criteriaQuery = session.getCriteriaBuilder().createTupleQuery();
Root<SomeTable> root = criteriaQuery.from(SomeTable.class);

criteriaQuery.multiselect(
    root.get("column_name"),
    Projections.max(root.<Double>get("column_name")),
    Projections.min(root.<Double>get("column_name")),
    Projections.count(root.get("column_name"))
);

criteriaQuery.where(
    session.getCriteriaBuilder().ge(root.<Double>get("column_name"), value)
);

criteriaQuery.groupBy(root.get("column_name"));

List<Tuple> result = session.createQuery(criteriaQuery).getResultList();
Salin selepas log masuk

Ini pertanyaan kriteria akan mengembalikan senarai tupel yang mengandungi nama_lajur, nilai maksimum, nilai minimum dan kiraannya, dikumpulkan mengikut nama_lajur. Harap maklum bahawa jenis fungsi agregat bergantung pada jenis lajur yang anda agregatkan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Klausa GROUP BY dalam Hibernate Menggunakan API Kriteria?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan