JPA と Hibernate を使用した計算プロパティのマッピング
背景:
Java があるとします。データベース列に直接マップされていないプロパティを持つ Bean。代わりに、COUNT() などの操作を使用してデータベースによって計算されるようにします。 HQL や Criteria API に頼らずにこのプロパティをマップする方法を探しています。
Hibernate の @Formula を使用した解決策:
JPA は派生プロパティを直接サポートしていません。ただし、Hibernate は解決策として @Formula アノテーションを提供します。このアノテーションを使用すると、プロパティの式を指定できます。これには SQL フラグメントや複雑なクエリを含めることができます。
@Formula("COUNT(childColumns)") private int childCount;
式の例:
@Formula("PRICE*1.155") private float finalPrice;
@Formula("(select min(o.creation_date) from Orders o where o.customer_id = id)") private Date firstOrderDate;
@Formula の利点:
追加リソース:
以上がHQL または Criteria API を使用せずに、JPA と Hibernate で計算されたプロパティをマッピングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。