Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Memetakan Hartanah Dikira dalam JPA dan Hibernate Menggunakan @Formula?

Bagaimanakah Saya Boleh Memetakan Hartanah Dikira dalam JPA dan Hibernate Menggunakan @Formula?

Mary-Kate Olsen
Lepaskan: 2024-12-02 11:59:13
asal
775 orang telah melayarinya

How Can I Map Calculated Properties in JPA and Hibernate Using @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;
Salin selepas log masuk

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;
Salin selepas log masuk

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:

  • [Hibernate Derived Properties - Performance dan Kemudahalihan](https://vladmihalcea.com/hibernate-derived-properties-performance-portability/)
  • [Dokumentasi Teras Hibernate: Bahagian 5.1.22. Lajur dan elemen formula](https://docs.jboss.org/hibernate/core/5.6/manual/en-US/html/ch05.html#d0e1830)
  • [Dokumentasi Anotasi Hibernate: Bahagian 2.4. 3.1. Formula](https://docs.jboss.org/hibernate/orm/6.1/javadocs/org/hibernate/annotations/Formula.html)

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!

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