-1

m 個のフィールドを持つ n 個のレコードをそれぞれ解析するアプリケーションを作成しています。これは、ip パケットからヘッダー情報を解析することに似ています。1 つの違いは、私が扱っているレコードには、オプションのユーザー コメント用のフィールドの配列があることです。私の質問は、フィールドのコレクションを永続化するのに最適な java.util.collection オブジェクトは何ですか? 複数の「コメント」フィールドが一意である必要があるため、セットはおそらく私がやろうとしていることに最適ですが、あるコレクションタイプを別のコレクションタイプよりも選択するときに、パフォーマンスやシリアライゼーションの問題はありますか? 以下は、私がやろうとしていることの擬似コードです:

@Entity
public class MyRecord implements Serializable{
    @Id
    private int id;
    private String filename;
    @OneToMany(targetEntity=MyField.class, mappedBy="filename") 
    private Set<MyField> field;
}


public class MyField implements Serializable{

    private int id;
    private String filename;
    private String filePath;
    private String fieldName;
    private String fieldType;
    private String fieldValue;
}
4

2 に答える 2

1

究極のシリアライゼーションのパフォーマンスを自分で制御できます。Externalizableインターフェースを見てください ( http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html )

于 2012-11-30T13:48:22.727 に答える
0

Collection将来の変化に備えるために使用できます。いつの日かMyField、ユニークではないことが許されるかもしれません。

于 2012-11-30T13:40:20.540 に答える