Rumah >Java >javaTutorial >Bagaimana untuk Menguruskan Hartanah Dikira dengan Cekap dengan JPA dan Anotasi @Formula Hibernate?

Bagaimana untuk Menguruskan Hartanah Dikira dengan Cekap dengan JPA dan Anotasi @Formula Hibernate?

DDD
DDDasal
2024-11-26 15:15:11328semak imbas

How to Efficiently Manage Calculated Properties with JPA and Hibernate's @Formula Annotation?

Cara Mengendalikan Hartanah Dikira dengan JPA dan Hibernate

Dalam bidang Java Persistence, kacang sering memiliki sifat yang memperoleh nilainya daripada pangkalan data pengiraan dan bukannya pemetaan terus ke lajur pangkalan data. Ini menimbulkan cabaran untuk rangka kerja seperti JPA dan Hibernate, yang biasanya menganggap hubungan lajur-ke-harta yang mudah.

Satu penyelesaian mujarab untuk teka-teki ini terletak pada anotasi @Formula yang ditawarkan oleh Hibernate. Anotasi ini membolehkan anda menentukan serpihan SQL yang mengira nilai sifat dengan segera.

Menggunakan @Formula untuk Sifat Dikira

Dengan menganotasi sifat dengan @Formula, anda mengarahkan Hibernate untuk mendapatkan semula nilainya menggunakan serpihan SQL yang ditentukan. Sebagai contoh, pertimbangkan kacang berikut:

@Entity
public class Book {
    @Id
    private Long id;
    private String title;

    @Formula(value = "COUNT(c) where c.book_id = id")
    private Integer pageCount;
}

Di sini, sifat pageCount tidak dipetakan ke mana-mana lajur pangkalan data. Sebaliknya, apabila Hibernate mengambil Buku, ia melaksanakan serpihan SQL yang disediakan (dalam kes ini, COUNT()) untuk menentukan bilangan halaman.

Selam Dalam @Formula

Di luar anotasi formula asas, anda boleh juga:

  • Gunakan Pertanyaan SQL Lengkap: Kira sifat berdasarkan pertanyaan kompleks yang melibatkan berbilang jadual.
  • Akses Data daripada Entiti Berbeza: Guna subqueries untuk mendapatkan semula data daripada yang berkaitan entiti.

Sumber Tambahan

Untuk maklumat lanjut dan kes penggunaan, rujuk perkara berikut:

  • [Sifat Terbitan Hibernate - Prestasi dan Kemudahalihan](https://vladmihalcea.com/hibernate-derived-properties-performance-portability/)
  • [Dokumentasi Teras Hibernate - Lajur dan Elemen Formula](https://docs.jboss.org/hibernate /core/6.1/manual/en-US/html_single/)
  • [Dokumentasi Anotasi Hibernate - Formula](https://docs.jboss.org/hibernate/orm/5.6/javadocs/org/hibernate/annotations/Formula.html)

Atas ialah kandungan terperinci Bagaimana untuk Menguruskan Hartanah Dikira dengan Cekap dengan JPA dan Anotasi @Formula Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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