我有以下数据库结构:
Table 1 Table 2
Table 3
tid_1 ----(many-to-one)---- tid_1
.... tid_2 ----(one-to-many)---- tid_2
tkey
tvalue
有没有办法用Table 1
创建一个由java.util.Map
定义的类,将tkey
与tvalue
的{{1}}相关联?我对Hibernate很陌生,在问之前,我试图搜索和试验,但什么都没有。任何帮助将不胜感激。
P.S。
如果这不会妨碍你,我宁愿使用Table 3
样式。
答案 0 :(得分:4)
您可以将tkey
作为关键字映射的地图和映射到Table 3
的实体声明为值:
@Entity
public class Table1 {
@ManyToMany
@JoinTable(name = "Table2")
@MapKey(name = "key")
private Map<String, Table3> table3s;
...
}
@Entity
public class Table3 {
@Column(name = "tkey")
private String key;
@Column(name = "tvalue")
private String value;
...
}