我正在尝试使用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: '{'
也许还有另一种方法可以让它发挥作用?
答案 0 :(得分:-1)
我设法根据这个question解决了这个问题:
只需要使用toD而不是:
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}");