2013-03-16 2 views
0

정의 :최대 절전 나는 다음과 같은 예를 구현하기 어려운 발견 쿼리

테이블 위치

Id Location longitude latitude 
1 l1  -5.938229 28.38129 
2 l2  -7.389323 18.38129 
3 l3  -9.378913 58.38129 

내가 원하는 오 다음 쿼리를지도 및 사용자에 의해 주어진 좌표의 거리 계산 :

SELECT l.*, <formula to calc distance> as distance FROM Location as l 

위치 엔티티가 hbm 파일에 정의되어 있지만 기본 데이터 모델에없는 추가 열 "거리"를 포함하는 방법을 모르겠습니다. 첫 번째 유형은 위치와 특정 지점에서 다른 representes 거리를 표시

HashMap<Location, Double> 

:

그것은 편리한 것이 데이터는 같은 집계 한합니다.

HQL 대신 SQL 쿼리를 실행하는 것을 선호합니다. 이것은 대개 최대 절전 모드에서 어떻게 이루어 집니까?

답변

1

방언을 직접 정의 해 보셨습니까?

은 참조 : How can you call custom database functions with Hibernate?

또는 당신이 원하는 SQL과 뷰를 생성하고 Hibernate 엔티티이보기를 매핑 할 수 있습니다.

건배,

+0

감사합니다. 좋은 옵션으로 소리를 들려주세요. 나는 그것에 대해 잊었다! – aumanets

1

답변을 찾았습니다. 'distance'필드를 채우는 함수에서 @PostLoad 주석을 사용하는 것이 더 간단한 대안이라고 덧붙이고 싶었습니다.

관련 문제