> Java > java지도 시간 > @Formula를 사용하여 JPA 및 최대 절전 모드에서 계산된 속성을 매핑하려면 어떻게 해야 합니까?

@Formula를 사용하여 JPA 및 최대 절전 모드에서 계산된 속성을 매핑하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-02 11:59:13
원래의
783명이 탐색했습니다.

How Can I Map Calculated Properties in JPA and Hibernate Using @Formula?

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 구문은 다른 데이터베이스 공급업체 간에 이식 가능하지 않을 수 있습니다.

자세한 내용은 다음 리소스를 참조하세요.

  • [Hibernate 파생 속성 - 성능 그리고 이식성](https://vladmihalcea.com/hibernate-derived-properties-performance-portability/)
  • [Hibernate 핵심 문서: 섹션 5.1.22. 열 및 수식 요소](https://docs.jboss.org/hibernate/core/5.6/manual/en-US/html/ch05.html#d0e1830)
  • [Hibernate Annotations 문서: 섹션 2.4. 3.1. 수식](https://docs.jboss.org/hibernate/orm/6.1/javadocs/org/hibernate/annotations/Formula.html)

위 내용은 @Formula를 사용하여 JPA 및 최대 절전 모드에서 계산된 속성을 매핑하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿