1

我正在尝试使用 jpa 组件通过从标题中获得的 id 进行选择。我在使用本机选择查询的文档中找到了一个示例:

from("direct:query").to("jpa://org.apache.camel.examples.MultiSteps?query=
select o from org.apache.camel.examples.MultiSteps o where o.step = 1");

我试图用 ${header.id} 替换“1”常量:

from("direct:query").to("jpa://org.apache.camel.examples.MultiSteps?query=
select o from org.apache.camel.examples.MultiSteps o where o.step = ${header.id}");

它似乎不起作用,我得到:

org.hibernate.QueryException: unexpected char: '{'

也许还有另一种方法可以做到这一点?

4

1 回答 1

0

基于这个问题,我设法解决了这个问题

只需要使用 toD 而不是 to:

from("direct:query").toD("jpa://org.apache.camel.examples.MultiSteps?query=
select o from org.apache.camel.examples.MultiSteps o where o.step = ${header.id}");
于 2017-11-21T17:15:28.043 回答