Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memetakan Hartanah Dikira dalam JPA dan Hibernate Menggunakan @Formula?
Memetakan Sifat Dikira dengan JPA dan Hibernate: Panduan
Banyak kacang Java mempunyai sifat yang tidak dinyatakan secara jelas dalam jadual pangkalan data. Sifat ini mungkin merupakan nilai yang dikira, seperti bilangan entiti anak yang dikaitkan dengan entiti induk.
Secara tradisinya, sifat tersebut telah ditetapkan menggunakan HQL atau API Kriteria. Walau bagaimanapun, anotasi @Formula dalam Hibernate menyediakan pendekatan yang lebih cekap dan deklaratif.
Menggunakan Anotasi @Formula
Anotasi @Formula membolehkan anda menentukan serpihan SQL yang mengira nilai harta:
@Formula("PRICE*1.155") private float finalPrice;
Dalam contoh ini, harta harga akhir ialah dikira dengan mendarab lajur PRICE dengan 1.155.
Pertanyaan Kompleks dan Jadual Terbitan
@Formula juga boleh mengendalikan pertanyaan kompleks yang melibatkan berbilang jadual:
@Formula("(select min(o.creation_date) from Orders o where o.customer_id = id)") private Date firstOrderDate;
Harta firstOrderDate ditetapkan dengan mendapatkan semula tarikh pembuatan minimum daripada jadual Pesanan untuk pelanggan yang mempunyai id yang sama seperti entiti semasa.
Pertimbangan Prestasi dan Mudah Alih
Adalah penting untuk ambil perhatian bahawa @Formula menggunakan SQL untuk mengira nilai, yang boleh memberi kesan kepada prestasi jika digunakan secara berlebihan. Selain itu, sintaks SQL yang digunakan dalam anotasi @Formula mungkin tidak mudah alih merentas vendor pangkalan data yang berbeza.
Untuk maklumat lanjut, rujuk sumber berikut:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memetakan Hartanah Dikira dalam JPA dan Hibernate Menggunakan @Formula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!