2013-05-02 7 views
0

연결 결과에 like 검색을 수행하는 쿼리를 수행하려고합니다. SQL에서 그것과 같을 것이다 : WHERE firstname + ' ' + lastname LIKE '%namesearch%'jdo 쿼리의 문자열 연결

JDO이를하려고 할 때 나는이 작업을 수행 :

Query q = pm.newQuery(User.class); 
Map<String, Object> args = new HashMap<String, Object>(); 
args.put("search", search); 
q.setFilter("(user.firstname + ' ' + user.lastname).indexOf(:search) >= 0"); 
q.executeWithMap(args); 

그러나 구문 분석 예외에서이 결과를하고.

Portion of expression could not be parsed: (:search) >= 0

는이 같은 JDO에 연결된 표현 검색을 수행 할 수 있습니까? 내가 볼

답변

0

문제는 당신이 그건 그것, 죄송합니다 q.declareParameters("String search")

+0

를 호출하는 것을 잊었다입니다. 'user.firstname.indexOf (: search)> = 0'은 잘 동작합니다. – jontro