Запрос 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}");
Другие вопросы по тегам