Heim > Java > javaLernprogramm > Wie kann die @Formula-Annotation von Hibernate berechnete Eigenschaften in JPA zuordnen?

Wie kann die @Formula-Annotation von Hibernate berechnete Eigenschaften in JPA zuordnen?

Susan Sarandon
Freigeben: 2024-11-17 17:02:02
Original
273 Leute haben es durchsucht

How Can Hibernate's @Formula Annotation Map Calculated Properties in JPA?

Zuordnung berechneter Eigenschaften in JPA mit der @Formula-Annotation von Hibernate

In Java Persistence API (JPA)-Entitäten stellen berechnete Eigenschaften von anderen abgeleitete Werte dar Entitätseigenschaften oder Datenbankberechnungen. Diese Eigenschaften werden nicht Datenbankspalten zugeordnet, können aber bei Bedarf abgerufen oder aktualisiert werden. Hibernate bietet die Annotation @Formula, um berechnete Eigenschaften innerhalb Ihrer JPA-Entitäten mühelos zuzuordnen.

Um die Annotation @Formula zu verwenden, wenden Sie sie einfach auf die berechnete Eigenschaft innerhalb Ihrer Entität an. Die Annotation akzeptiert ein SQL-Fragment, das die Berechnungslogik angibt. Wenn Sie beispielsweise über eine „childCount“-Eigenschaft verfügen, die mithilfe einer Datenbank-COUNT()-Funktion berechnet werden soll, können Sie sie wie folgt definieren:

@Formula("COUNT(SELECT 1 FROM Child WHERE Child.parentId = id)")
private int childCount;
Nach dem Login kopieren

In diesem Beispiel ist das SQL-Fragment COUNT(SELECT 1 FROM Child WHERE Child.parentId = id) berechnet die Anzahl der untergeordneten Entitäten, die mit der aktuellen Entität verknüpft sind.

Die @Formula-Annotation bietet Flexibilität durch die Unterstützung komplexerer Abfragen. Sie können beispielsweise das Mindesterstellungsdatum von Bestellungen berechnen, die einem Kunden zugeordnet sind:

@Formula("(SELECT MIN(o.creation_date) FROM Orders o WHERE o.customer_id = id)")
private Date firstOrderDate;
Nach dem Login kopieren

Es ist wichtig zu beachten, dass die @Formula-Annotation eine Hibernate-spezifische Erweiterung ist. Es ermöglicht zwar eine effiziente Zuordnung berechneter Eigenschaften, ist jedoch nur verfügbar, wenn Hibernate als JPA-Persistenzanbieter verwendet wird.

Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen:

  • [Hibernate Abgeleitete Eigenschaften – Leistung und Portabilität](https://vladmihalcea.com/hibernate-derived-properties-performance-and-portability/)
  • [Hibernate-Kerndokumentation – Spalte und Formel Elemente](https://docs.jboss.org/hibernate/core/5.5/manual/en-US/html_single/#d0e2491)
  • [Hibernate Annotations Documentation - Formel](https://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e3346)

Das obige ist der detaillierte Inhalt vonWie kann die @Formula-Annotation von Hibernate berechnete Eigenschaften in JPA zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage