2013-05-02 73 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 2013-05-05 15:24:50