jdo查询中的字符串连接

时间:2013-05-02 15:22:00

标签: java jdo datanucleus

我正在尝试对连续结果执行like搜索的查询。 在sql中它看起来像这样: WHERE firstname + ' ' + lastname LIKE '%namesearch%'

在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这样的联合表达式搜索?

1 个答案:

答案 0 :(得分:0)

我看到的问题是您忘记拨打q.declareParameters("String search")