2011-02-16 4 views
4

내 프로젝트에서 PostgreSQL과 Hibernate를 ORM으로 사용하는데 문제가 있습니다. 내 테이블에서 모든 열 유형 (INTEGER, STRING, TEXT)에 대해 검색을 수행하려고합니다. ::PostgreSQL LIKE for Integer

select * from Table1 where size::text like '%3'; 

하지만 빌어 먹을 Hibernate는 소요 자기 매개 변수로 텍스트 및 예외가 발생합니다 : 최대 절전 모드 몇 가지 문제가 있습니다 , 나는이 같은 INTEGER 유형에 운영자 LIKE 예를 들어 실행할 수 있는지 알 수있을 것입니다. 어떻게이 오류를 피할 수 있습니까? 감사합니다. .

답변

9

시도의 행함은 :

cast(size as text) 

그것은 도움이 될 것입니다.

+0

감사를 사용 3로 끝나는 번호를 찾으려하지만 경우, 귀하의 질문에 대답하지 않을 수 있습니다. –

+0

고마워, 그게 날 도와 줘! Btw 나는이 해결책을 찾았습니다. predicate parcelNumberIdPredicate = cb.like ( parcelDO. get ("parcelNumberId"). as (String.class), parcelNumberId + "%"); –

1

사용 CAST :

select * from Table1 where CAST(size AS text) like '%3'; 
3

이것은 당신이 내가 이것을 시도 할 것이다 모듈 운영자에게

select * from Table1 where (size % 10) == 3; 
+6

정수에 "좋아요"가 필요한 경우, 뭔가 잘못되었습니다. –

+0

동의하지만 아주 간단한 작업을 위해 적용 할 수 있습니다. –

+0

안녕히 계십시오. 콘라드 좀 더 효과적인 방법을 제안 해 주시겠습니까? –