JPA 및 Hibernate를 사용하여 계산된 속성 매핑: 가이드
많은 Java Bean에는 데이터베이스 테이블에 명시적으로 표시되지 않는 속성이 있습니다. 이러한 속성은 상위 엔터티와 연결된 하위 엔터티 수와 같은 계산된 값일 수 있습니다.
일반적으로 이러한 속성은 HQL 또는 Criteria API를 사용하여 설정되었습니다. 그러나 Hibernate의 @Formula 주석은 더 효율적이고 선언적인 접근 방식을 제공합니다.
@Formula 주석 사용
@Formula 주석을 사용하면 SQL 조각을 지정할 수 있습니다. 이는 속성 값을 계산합니다.
@Formula("PRICE*1.155") private float finalPrice;
이 예에서는 finalPrice 속성이 계산됩니다. PRICE 열에 1.155를 곱합니다.
복잡한 쿼리 및 파생 테이블
@Formula는 여러 테이블이 포함된 복잡한 쿼리도 처리할 수 있습니다.
@Formula("(select min(o.creation_date) from Orders o where o.customer_id = id)") private Date firstOrderDate;
firstOrderDate 속성은 다음과 같은 고객의 Orders 테이블에서 최소 생성 날짜를 검색하여 설정됩니다. 현재 엔터티와 동일한 ID.
성능 및 이식성 고려 사항
@Formula는 SQL을 사용하여 값을 계산하므로 과도하게 사용할 경우 성능에 영향을 미칠 수 있다는 점에 유의하는 것이 중요합니다. . 또한 @Formula 주석에 사용된 SQL 구문은 다른 데이터베이스 공급업체 간에 이식 가능하지 않을 수 있습니다.
자세한 내용은 다음 리소스를 참조하세요.
위 내용은 @Formula를 사용하여 JPA 및 최대 절전 모드에서 계산된 속성을 매핑하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!