Запрос camel-jpa - выберите с параметрами
Я пытаюсь использовать компонент jpa, чтобы выбрать по идентификатору, который я получаю из заголовка. Я нашел пример в документации, которая использует собственный запрос выбора:
from("direct:query").to("jpa://org.apache.camel.examples.MultiSteps?query=
select o from org.apache.camel.examples.MultiSteps o where o.step = 1");
Я попытался заменить константу "1" на ${header.id}:
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: '{'
Может быть, есть другой способ заставить это работать?
1 ответ
Мне удалось решить это, основываясь на этом вопросе:
Просто нужно использовать 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}");