如何在Camel中持久记录后获取生成的主键

时间:2014-07-25 13:56:17

标签: java jpa apache-camel

我正在尝试使用Camel将数据插入数据库后获取自动生成的主键。我看到,有一个JIRA问题(https://issues.apache.org/jira/browse/CAMEL-7313)并且它已经解决了。

                     from("file:data/source?noop=true")
                        .to("validator:books.xsd")
                        .split()
                        .tokenizeXML("book")
                        .unmarshal(jaxb)
                        .to("jpa:com.labs.Book")
                        .process(new Processor() {
                            public void process(Exchange exchange)
                                    throws Exception {
                                //here i want to get that primary key
                            }
                        });

有人可以为我指出一个例子......

2 个答案:

答案 0 :(得分:2)

是的,经过一些谷歌搜索和上述专家的建议。我得到了我的问题的答案

from("file:data/source?noop=true")
                        .to("validator:books.xsd")
                        .split()
                        .tokenizeXML("book")
                        .unmarshal(jaxb)
                        .to("jpa:com.labs.Book")
                        .process(new Processor() {
                            public void process(Exchange exchange)
                                    throws Exception {
                                //here it is
                                int Id = exchange.getIn().getBody(Book.class).getId();
                            }
                    });

谢谢大家。

答案 1 :(得分:0)

主键在实体类上设置,因此请检查该类。您需要使用JPA注释配置JPA实体,您可以在其中定义哪个字段是主键。

只需在网络或此网站上搜索jpa primary key

即可