私はオームをエラスティック検索と統合することに取り組んでいます。作成、更新、削除メソッドが呼び出されるたびに、エラスティック検索で同じ操作を実行してインデックスを更新しています。これは、Hibernate リスナーの PostInsert、PostDelete、PostUpdate で行っています。ここで知りたいのは、orm の get メソッドまたは find メソッドが最初に呼び出されたとき、データのエラスティック検索で検索し、エラスティック検索でデータが見つからない場合は、DB から取得する必要があることです。これを達成するためには、プレリスナーが必要です。これを行うために利用できるリスナーのタイプはありますか、またはこれを行う他の代替方法はありますか。事前にサンクス。
3 に答える
1
Hibernate チームでは、Hibernate ORM と Elasticsearch の完全な統合を実装しています。
Hibernate Search とそのまったく新しい Elasticsearch 統合を参照してください。
于 2016-05-27T14:37:28.640 に答える
0
Just simply do some middle layer - wrapper for your get/ find methods in which you first check if results are available through elastic search.
于 2012-09-07T07:32:22.350 に答える
0
Hibernate イベント システムを使用して、ロード前またはロード後のトリガーを実装できると思います。実装では、イベント オブジェクトを介して読み込まれたエンティティにアクセスできます。
問題は、これらのトリガーがセッションに直接アタッチされていることです。スコープを一部のエンティティまたはクエリに制限する方法はないと思います。したがって、クラスでは、ロードされたすべてのエンティティが「表示」され、どのエンティティを選択するかを選択する必要があります。検索メソッドをオーバーロードする必要があります。
ここにあなたを助けるかもしれない例があります。
幸運を!!
于 2012-09-07T07:02:42.990 に答える