当使用jpa持久化实体时,哪个java集合对象最好

时间:2012-11-30 13:27:35

标签: java jpa jpa-2.0

我正在编写一个应用程序来解析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;
}

2 个答案:

答案 0 :(得分:1)

您可以自行控制以获得最终的序列化性能,请查看Externalizable界面(http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html

答案 1 :(得分:0)

您可以使用Collection为将来的更改做好准备。也许有一天MyField可能不是唯一的。