第 32 章 JPA
从 Camel 1.0 开始
支持生成者和消费者。
JPA 组件可让您使用 EJB 3 的 Java Persistence 架构(DSL)从持久性存储存储和检索 Java 对象。Java Persistence 架构(DSL)是一种标准接口层,它打包 Object/Relational Mapping (ORM)产品,如 Open the Hibernate, Hibernate, TopLink。
将以下依赖项添加到此组件的 pom.xml
中:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jpa</artifactId> <version>3.20.1.redhat-00031</version> <!-- use the same version as your Camel core version --> </dependency>
32.1. 发送到端点
您可以通过将 Java 实体 Bean 发送到 JPA producer 端点,将其存储在数据库中。In
消息正文假定为实体 Bean (即,包含 @Entity 注解的 POJO)或实体 Bean 集合或数组。
如果正文是实体列表,请使用 entityType=java.util.List
作为传递给制作者端点的配置。
如果正文不包含以上列出的类型之一,请在端点首先执行必要的转换前放置 Message Translator。
您还可以将名为Query 的查询
、名为Query
或 nativeQuery
用于生成者。对于 参数的值
,您可以使用简单表达式从 Message body、标头等检索参数值。这些查询可用于通过 SELECT
JPQL/SQL 语句来检索一组数据,并使用 UPDATE
/DELETE
JPQL/SQL 语句执行批量更新/删除。请注意,如果您执行 名为Query
的 UPDATE
/DELETE
,则您需要将 useExecuteUpdate
指定为 true
,因为 camel 不会查看命名的 查询
与查询和 原生Query
不同。