【问题标题】:String concatenation in jdo queryjdo查询中的字符串连接
【发布时间】:2013-05-02 15:22:00
【问题描述】:

我正在尝试执行一个查询,对串联结果进行 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) &gt;= 0

是否可以像这样在JDO 中进行串联表达式搜索?

【问题讨论】:

    标签: java jdo datanucleus


    【解决方案1】:

    我看到的问题是你忘了给q.declareParameters("String search")打电话

    【讨论】:

    • 抱歉,不是这样。 user.firstname.indexOf(:search) &gt;= 0 工作正常
    猜你喜欢
    • 2017-12-15
    • 2014-12-07
    • 2012-09-05
    • 1970-01-01
    • 2019-01-21
    • 2014-11-14
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    相关资源
    最近更新 更多