休止状態プロバイダーと名前付きクエリで camel-jpa コンポーネントを使用しようとしています。小さな注意点でうまく機能します...
インシデント、リクエスト、正規化された方法での変更などのさまざまなエンティティ オブジェクトへの状態の変更をログに記録し、データベース トリガーによって入力されるイベント キュー テーブルがあります。
イベント キュー テーブルには、event_id、occurance_time、entity_type、entity_id、operation、その他のステータス フラグなどの列があります。
ここで、エンティティ タイプは entity_type のようなものです: インシデント、変更、リクエストなど... 操作: 作成、更新、削除、コメントなど..
最初に、インシデントとリクエスト オブジェクトが同じテーブルに存在するため、インシデント、リクエストなどのエンティティのサブセットで JoinColumn を実行するイベント エンティティを作成しました。ただし、変更と他のオブジェクトと他のエンティティが他のテーブルに存在するため、機能しません。
join や camel-jpa を使用せずに event_queue からスタブ レコードをそのまま取得し、エンティティ タイプと ID に応じて「choice」演算子と後続の jpa クエリを使用する予定です。
最初の jpa: 操作の結果に基づいて entity_id をクエリに渡す必要があるため、camel-jpa コンポーネントでこれを行う方法を教えてください。
Stack Overflow で「Apache Camel JPA: read from multiple tables」で Bean を使用する同様の質問を見てきましたが、よりエレガントな方法で問題を解決したいと思います。