공부 하던중 @QueryHints의 다양한 속성 값들이 궁금해져서 찾아보왔는데
@QueryHints를 통해 다양한 옵션을 줄 수 있는 것을 찾았고 아래는 그 예들을 정리한 표이다.
| 속성 | 설명 |
|---|---|
| readOnly | 쿼리 결과를 읽기 전용으로 처리합니다. true 또는 false 값을 줄 수 있습니다 |
| comment | 쿼리에 주석을 추가합니다. 문자열 값을 줄 수 있습니다 |
| fetchSize | 쿼리가 데이터베이스로부터 가져오는 행의 수를 지정합니다. 정수 값을 줄 수 있습니다 |
| timeout | 쿼리가 실행되는 시간을 제한합니다. 초 단위의 정수 값을 줄 수 있습니다 |
| cacheable | 쿼리 결과를 캐시에 저장할지 여부를 결정합니다. true 또는 false 값을 줄 수 있습니다 |
| cacheRegion | 쿼리 결과를 저장할 캐시 영역의 이름을 지정합니다. 문자열 값을 줄 수 있습니다 |
| javax.persistence.fetchgraph | 쿼리 결과에 대한 엔티티 그래프를 제공합니다. EntityGraph 객체를 값으로 줄 수 있습니다 |
fetch size와 readonly는 공부하면서 봤지만 나머지는 좀 생소한 것들이다. readonly의 경우 @Transactional(readonly=true)하고 같이 쓰면 좋다고 하니 같이 쓰면 될 것 같고 fetch size의 경우는 글로벌로 설정을 하니 특별한 경우가 아니라면 글로벌로 설정해서 쓰는 것이 좋을 것 같다.😎