我有這個駱駝航線:如何通過header在Apache Camel JPA中傳遞namedQuery參數?
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");
但它無法正常工作
有沒有任何方法可以通過heade設置jpa屬性RS?駱駝文檔引用這parameters
選擇,但我不發現的例子
選項:
parameters
此選項是基於註冊表這就需要#符號。鍵/值映射用於構建查詢參數。它是 期望是泛型類型java.util.Map,其中 這些鍵是給定JPA查詢的命名參數,值 是它們對應的有效值要選擇。駱駝 2.19:它也可以用於生產者。當它用於生產者時,簡單表達式可以用作參數值。它 允許您從郵件正文標題 檢索參數值等
[駱駝JPA查詢參數沒有被人看見(HTTP的可能重複: //stackoverflow.com/questions/36609830/camel-jpa-query-parameters-not-being-seen) – Strelok
但我不明白如何使用註冊表。我找不到任何其他的例子。你能舉個例子嗎? – smftr