2011-04-18 1 views
1

정수에 대한 검색 쿼리를 만들고 있습니다.Java jSF Int를 사용하는 NamedQuery

@NamedQueries({ 
@NamedQuery(name = "getFactuurs", query = "SELECT f FROM Factuur f WHERE " 
+ "f.periode LIKE :periode AND " 
+ "f.carTracker.kenteken LIKE :carTrackerKenteken") 

}) 그래서

(가) 'periode'클래스 Factuur의 정수, 내가 이런 식으로 할 시도한다 :

+ "f.periode = :periode AND " 
를이 클래스 Factuur의 NamedQuery입니다

예외가 발생하지 않고 데이터베이스에서 아무 것도 얻지 못합니다 ...

+0

전달하는'periode'와'carTrackerKenteken'의 값과 일치하는 적어도 하나의 레코드가 db에 있습니까? –

답변

0

JPA 사양의 4.6.9 절에서는 LIKE 연산자를 식에만 적용 할 수 있다고 명시합니다 입력 문자열 다음과 같이

조건식에 비교 연산자 [NOT] 등의 사용에 대한 구문은 다음

 string_expression [NOT] LIKE pattern_value [ESCAPE escape_character] 

string_expression 문자열 값을 가져야한다.

정수를 문자열로 변환하는 함수가없는 것처럼 보입니다. 범위를 쿼리하는 경우 응용 프로그램에서 하위 및 상위 값을 계산하고 BETWEEN 식으로 쿼리해야합니다. 임의의 LIKE 식으로 쿼리해야하는 경우 필드의 형식이 string이어야합니다.