我有一个 xml 文件,其中有一些键值对。我想以键值对的形式存储它们
<parent>
<key1> value </1key>
<key1> value </1key>
<key1> value </1key>
<key1> value </1key>
...
<key1> value </1key>
</parent>
现在我不知道有多少键值会预先从 xml 来。我如何将它映射到 hibernate 对象? 我可以将它存储在表中
primaryKey parentId key value
1 1 k1 val
2 1 k2 val
3 1 k3 val
4 2 k1 val
5 2 k2 val
6 3 k3 val
如何将它映射到 hibernate 对象? 我想要以下结构 父类{ int 父代号; 字符串父名称 键值键值;//如何建模?
AM 使用 netbeans IDE。
最佳答案
你确实可以使用 map :
public class Parent {
@Id
private Integer id;
@OneToMany(mappedBy = "parent")
@MapKey(name = "key")
private Map<String, KeyValuePair> keyValuePairs;
}
public class KeyValuePair {
@Id
private Integer id;
@ManyToOne
@JoinColumn(name = "parent_id")
private Parent parent;
@Column(name = "key")
private String key;
@Column(name = "value")
private String value;
}
您还应该对 [parent_id - key]
设置唯一约束。
关于java - 在 hibernate 中存储键值对 |我们可以使用 map 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7131440/