문제

데이터베이스에 저장된 IP 주소를 주문하기에 좋은 선택으로 Parsename 기능을 발견했습니다. 여기 예가 있습니다.
내 문제는 XML 매핑 파일에 명명 된 쿼리와 함께 최대 절전 모드를 사용하는 것입니다.

session.createSQLQuery(..) 

기능.
HQL 쿼리에 대한 Parsename 동등한 함수가 있는지 궁금합니다. 나는 그것을 찾고 있고 아무것도 찾을 수 없습니다.
많은 감사합니다.

도움이 되었습니까?

해결책

나는 관련이있는 것을 찾지 못했습니다.
마지막으로 IP 주소를 숫자 방식으로 주문하기 위해 다음 순서로 다음 순서를 실행했습니다 (솔루션을 찾았습니다. 여기):

order by cast(substring(host.ip, 1, locate('.', host.ip) - 1) as integer),
                 cast(substring(host.ip, locate('.', host.ip) + 1, locate('.', host.ip, locate('.', host.ip) + 1) - locate('.', host.ip) - 1) as integer),
                 cast(substring(host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1, locate('.', host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1) - locate('.', host.ip, locate('.', host.ip) +  1) - 1) as integer),
                 cast(substring(host.ip, locate('.', host.ip, locate('.', host.ip, locate('.', host.ip) + 1) + 1) + 1, 3) as integer)    

다른 팁

방언과 사용 하위 클래스 RegisterFunction() Parsename을 HQL 쿼리에 사용할 수 있도록합니다. RegisterFunction 잘 문서화되어 있지는 않지만 있습니다 웹에서 많은 예제. 당신이 그것을 사용할 수 있는지 잘 모르겠습니다 주문하다 그래도 결과.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top