2012-01-04 16 views
0

JPA/Hibernateを使用してDBにマップされる、関連するエンティティオブジェクトのセットとして表現される、1.n個の入れ子になったノードで構成されるツリー構造を指定します。そして、100k-1mのレコードが入力されています。このツリーに対してすべてのレコードを1つずつ処理し、各レコードのロックアップ関連情報をツリー形式で処理する最も簡単な方法は何でしょうか。ルックアップの間、異なる濾過規則が適用され、ノードの深さが考慮される。ツリーデータ構造内の情報を見つける最速の方法。

問題への潜在的なアプローチ(ツリー構造、どのような情報を参照する必要があるかなど)を検討する前に、考慮すべきことがたくさんあることを理解しています。しかし、私は、似たようなタスクに取り組む方法についての可能なアプローチの一般的な説明/ガイダンスを探しています。

ありがとうございます!

答えて

0

すべてのエントリを読み込んで、child - > parent(各エントリが小さい限り)のJava Mapに置いても問題ありません。これらの関係をルートに追従させることで、所与のエンティティの深さを得ることができます。

エントリのバージヨンに比例していないという欠点はありますが、100万はおそらく問題ありません。これがバッチ処理の場合は十分に速くなければなりません。

関連する問題