第 182 章 JPA Component
从 Camel 版本 1.0 开始提供
jpa 组件可让您使用 EJB 3 的 Java Persistence 架构(langpack)从持久性存储存储和检索 Java 对象,它是一个标准接口层,用于嵌套对象/关系映射(ORM)产品,如 Openrhgs、Hibernate、topLink 等。
Maven 用户需要将以下依赖项添加到这个组件的 pom.xml
中:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jpa</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
182.1. 发送到端点
您可以通过将 Java 实体 Bean 发送到 JPA producer 端点来将其存储在数据库中。In 消息的正文被假定为实体 Bean (即具有 @Entity 注释的 POJO),或实体 Bean 的集合或数组。
如果正文是实体列表,请确保使用 entityType=java.util.ArrayList 作为传递给制作者端点的配置。
如果正文不包含之前列出的类型之一,请在端点前面放置 Message Translator,首先执行必要的转换。
从 Camel 2.19 开始,您还可以将 查询
、namedQuery
或 nativeQuery
用于生成者。另外,在 参数 中的值
中,您可以使用简单表达式,允许您从消息正文、标头等检索参数值。这些查询可用于使用 SELECT
JPQL/SQL 语句检索一组数据,并使用 UPDATE
/DELETE
JPQL/SQL 语句来执行批量更新/删除。请注意,如果您使用 namedQuery
执行 UPDATE
/DELETE
,则需要指定 useExecuteUpdate
to true
,因为 camel don't look look the named 查询与查询和
nativeQuery
不同。