So gehen Sie mit berechneten Eigenschaften mit JPA und Ruhezustand um
Im Bereich der Java-Persistenz verfügen Beans häufig über Eigenschaften, die ihre Werte aus der Datenbank ableiten Berechnungen anstelle einer direkten Zuordnung zu Datenbankspalten. Dies stellt eine Herausforderung für Frameworks wie JPA und Hibernate dar, die normalerweise eine direkte Beziehung zwischen Spalte und Eigenschaft voraussetzen.
Eine wirksame Lösung für dieses Rätsel liegt in der von Hibernate angebotenen @Formula-Annotation. Mit dieser Annotation können Sie ein SQL-Fragment angeben, das den Wert der Eigenschaft im Handumdrehen berechnet.
Verwenden von @Formula für berechnete Eigenschaften
Durch Annotieren einer Eigenschaft mit @Formula Sie weisen Hibernate an, seinen Wert mithilfe des angegebenen SQL-Fragments abzurufen. Betrachten Sie beispielsweise die folgende Bean:
@Entity public class Book { @Id private Long id; private String title; @Formula(value = "COUNT(c) where c.book_id = id") private Integer pageCount; }
Hier ist die pageCount-Eigenschaft keiner Datenbankspalte zugeordnet. Wenn Hibernate stattdessen ein Buch abruft, führt es das bereitgestellte SQL-Fragment (in diesem Fall ein COUNT()) aus, um die Anzahl der Seiten zu bestimmen.
Deep Dive in @Formula
Über die grundlegende Formelanmerkung hinaus können Sie auch:
Zusätzliche Ressourcen
Weitere Einblicke und Anwendungsfälle finden Sie im Folgendes:
Das obige ist der detaillierte Inhalt vonWie verwaltet man berechnete Eigenschaften effizient mit JPA und der @Formula-Annotation von Hibernate?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!