我正在编写一个应用程序来解析n个记录,每个记录包含m个字段。它类似于从ip数据包中解析头信息。一个区别是我正在使用的记录包含可选用户注释的字段数组。我的问题是,用于持久化字段集合的最佳java.util.collection对象是什么?一个集合可能是我想要做的最好的,因为多个“注释”字段必须是唯一的,但是当选择一种集合类型而不是另一种时,是否有任何性能或序列化问题?下面是我正在尝试做的psedo-code:
@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;
}
答案 0 :(得分:1)
您可以自行控制以获得最终的序列化性能,请查看Externalizable
界面(http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html)
答案 1 :(得分:0)
您可以使用Collection
为将来的更改做好准备。也许有一天MyField
可能不是唯一的。