2.61. JPA
使用 Java Persistence API (busybox)从数据库存储和检索 Java 对象。
2.61.1. 什么是内部 复制链接链接已复制到粘贴板!
-
JPA component, URI 语法:
jpa:entityType
有关用法和配置详情,请参阅上述链接。
2.61.2. Maven 协调 复制链接链接已复制到粘贴板!
在 code.quarkus.redhat.com 上使用此扩展创建新项目
或者将协调添加到现有项目中:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jpa</artifactId>
</dependency>
2.61.3. 其他 Camel Quarkus 配置 复制链接链接已复制到粘贴板!
扩展利用 Quarkus Hibernate ORM 通过 Hibernate 提供 JPA 实施。
请参阅 Quarkus Hibernate ORM 文档,以了解如何配置 Hibernate 和数据源。
另外,它利用 Quarkus TX API 来提供 TransactionStrategy 实现。
使用单个持久性单元时,Camel Quarkus JPA 扩展将使用 EntityManagerFactory 和 TransactionStrategy 自动配置 JPA 组件。
2.61.3.1. 配置 JpaMessageIdRepository 复制链接链接已复制到粘贴板!
它需要 CDI 容器中使用 EntityManagerFactory 和 TransactionStrategy 来配置 JpaMessageIdRepository :
@Inject
EntityManagerFactory entityManagerFactory;
@Inject
TransactionStrategy transactionStrategy;
from("direct:idempotent")
.idempotentConsumer(
header("messageId"),
new JpaMessageIdRepository(entityManagerFactory, transactionStrategy, "idempotentProcessor"));
由于它排除了 spring-orm 依赖项,因此不支持 sharedEntityManager 等一些选项,所以不支持transactionManager。