Hibernate의 @Formula 주석을 사용하여 JPA의 계산된 속성 매핑
JPA(Java Persistence API) 엔터티에서 계산된 속성은 다른 항목에서 파생된 값을 나타냅니다. 엔터티 속성 또는 데이터베이스 계산. 이러한 속성은 데이터베이스 열에 매핑되지 않지만 요청 시 검색하거나 업데이트할 수 있습니다. Hibernate는 JPA 엔터티 내에서 계산된 속성을 쉽게 매핑할 수 있도록 @Formula 주석을 제공합니다.
@Formula 주석을 사용하려면 엔터티 내에서 계산된 속성에 이를 적용하기만 하면 됩니다. 주석은 계산 논리를 지정하는 SQL 조각을 허용합니다. 예를 들어, 데이터베이스 COUNT() 함수를 사용하여 계산해야 하는 "childCount" 속성이 있는 경우 다음과 같이 정의할 수 있습니다.
@Formula("COUNT(SELECT 1 FROM Child WHERE Child.parentId = id)") private int childCount;
이 예에서 SQL 조각 COUNT(SELECT 1 FROM Child WHERE Child.parentId = id)는 현재 엔터티와 연결된 하위 엔터티 수를 계산합니다.
@Formula 주석은 더 복잡한 쿼리를 지원하여 유연성을 제공합니다. 예를 들어 고객과 관련된 최소 주문 생성 날짜를 계산할 수 있습니다.
@Formula("(SELECT MIN(o.creation_date) FROM Orders o WHERE o.customer_id = id)") private Date firstOrderDate;
@Formula 주석은 Hibernate 전용 확장이라는 점에 유의하는 것이 중요합니다. 계산된 속성을 효율적으로 매핑할 수 있지만 Hibernate를 JPA 지속성 공급자로 사용하는 경우에만 사용할 수 있습니다.
주제에 대해 자세히 알아보려면 다음 리소스를 고려하세요.
위 내용은 Hibernate의 @Formula 주석은 JPA에서 계산된 속성을 어떻게 매핑할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!