Heim >Java >javaLernprogramm >Wie kann ich berechnete Eigenschaften in JPA und Hibernate zuordnen, ohne HQL oder Criteria API zu verwenden?
Berechnete Eigenschaften mit JPA und Ruhezustand zuordnen
Hintergrund:
Angenommen, Sie haben Java Bean mit einer Eigenschaft, die nicht direkt einer Datenbankspalte zugeordnet ist. Stattdessen soll es von der Datenbank mithilfe einer Operation wie COUNT() berechnet werden. Sie suchen nach einer Möglichkeit, diese Eigenschaft abzubilden, ohne auf HQL oder die Kriterien-API zurückzugreifen.
Lösung mit der @Formula von Hibernate:
JPA unterstützt abgeleitete Eigenschaften nicht direkt. Als Lösung bietet Hibernate jedoch die Annotation @Formula an. Mithilfe dieser Annotation können Sie eine Formel für die Eigenschaft angeben, die SQL-Fragmente oder komplexe Abfragen umfassen kann:
@Formula("COUNT(childColumns)") private int childCount;
Beispielformeln:
@Formula("PRICE*1.155") private float finalPrice;
@Formula("(select min(o.creation_date) from Orders o where o.customer_id = id)") private Date firstOrderDate;
Vorteile von @Formula:
Zusätzliche Ressourcen:
Das obige ist der detaillierte Inhalt vonWie kann ich berechnete Eigenschaften in JPA und Hibernate zuordnen, ohne HQL oder Criteria API zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!