1

我是 camel-jpa 的新手,需要您帮助解决以下问题:

我需要从数据库表中读取数据,对其进行转换并将其保存到另一个数据库中:

<route id="FromEmployee1ToEmployee2">
      <from uri="jpa1://Employee1?consumeDelete=false&amp;consumer.namedQuery=getAll" />
      <bean ref="transformerBean"/>
      <to uri="jpa2://Employee2"/>
</route>

这已经很好用了!但现在的问题是我需要从另一个表中查找 Employee1 的一些数据(我需要读取该条目的“last_modified”日期)。在 SQL 中,我会简单地这样做select last_modified from table2 where table2.id = <employee.ID>:但是我怎么能用camel-jpa来实现呢?

4

2 回答 2

0

camel-jpa 组件提供了使用查询的选项,例如命名查询。这使您可以像使用 JPL 一样用 SQL 编写代码(我认为那是 SQL 的 JPA 名称)。

在http://camel.apache.org/jpa有一个小例子

于 2012-10-29T11:23:32.213 回答
0

这是我的解决方案(以防有人遇到同样的问题):

因为它不可能动态地将属性传递给骆驼路线中的命名查询(至少,我找不到任何方法......),我使用了一个 bean 来处理它:

<route...
  <from uri="jpa1://Entity1" />
  <bean ref="MyBean" />
  <to uri="jpa2://Entity2" />    
</route>

在 bean 中,我使用(自动装配的)DAO 来调用我的查询。这使我可以进行所需的各种内容丰富...

好吧,到目前为止效果很好,但我认为我可以用骆驼做这件事的更优雅的方式......

BR, 男

于 2012-11-02T16:03:55.080 回答