第181章 JPA コンポーネント


Camel バージョン 1.0 以降で利用可能

jpa コンポーネントを使用すると、EJB 3 の Java Persistence Architecture (JPA) を使用して永続ストレージから Java オブジェクトを格納および取得できます。JPA は、OpenJPA、Hibernate、TopLink などのオブジェクト/リレーショナルマッピング (ORM) 製品をラップする標準インターフェイス層です。

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>

181.1. エンドポイントへの送信

Java エンティティー Bean を JPA プロデューサーエンドポイントに送信することにより、データベースに格納できます。In メッセージのボディーは、エンティティー Bean (つまり、@Entity アノテーションが付けられた POJO) またはエンティティー Bean のコレクションまたは配列であると想定されます。

ボディーがエンティティーのリストである場合は、プロデューサーエンドポイントに渡される設定として entityType=java.util.ArrayList を必ず使用してください。

本文に前にリストされたタイプのいずれも含まれていない場合は、エンドポイントの前に Message Translator を配置して、最初に必要な変換を実行します。

Camel 2.19 以降では、プロデューサーにも querynamedQuery または nativeQuery を使用できます。また、parameters の値では、メッセージボディー、ヘッダーなどからパラメーター値を取得できる単純な式を使用できます。これらのクエリーは、SELECT JPQL/SQL ステートメントを使用した一連のデータの取得、および UPDATE/DELETE JPQL/SQL ステートメントを使用した一括更新/削除の実行に使用できます。camel は querynativeQuery とは異なり、名前付きクエリーを調べないため、namedQueryUPDATE/DELETE を実行する場合は、useExecuteUpdatetrue に指定する必要があることに注意してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.