【发布时间】:2017-05-07 20:44:11
【问题描述】:
我有这条骆驼路线:
from("direct:getUser")
.pollEnrich("jpa://User?namedQuery=User.findById&consumeDelete=false");
这是我的用户实体:
@Entity
@NamedQueries({
@NamedQuery(name="User.findAll", query="SELECT u FROM User u"),
@NamedQuery(name="User.findById", query="SELECT u FROM User u WHERE u.id = :id")
})
public class User{
@Id
private String id;
}
我已经通过设置标题尝试了这条路线:
from("direct:getUser")
.setHeader("id", simple("myid"))
.pollEnrich("jpa://User?namedQuery=User.findById&consumeDelete=false");
但它不起作用
是否有任何方法可以通过标题设置 jpa 属性?骆驼文档在parameters 选项中引用了这个,但我没有找到示例
选项:
parameters此选项基于注册表,需要 # 符号。这个 键/值映射用于构建查询参数。这是 预计是泛型类型 java.util.Map 其中 键是给定 JPA 查询的命名参数,值是 是您要为其选择的相应有效值。骆驼 2.19:也可以用于生产者。用于生产者时,可以使用简单表达式作为参数值。它 允许您从消息正文标题中检索参数值 等等。
【问题讨论】:
-
但我不明白如何使用注册表。我在其他任何地方都找不到任何例子。能举个例子吗?
标签: jpa apache-camel