我有一个域实体,如下所示:
class Exch{
private int id;
private String val1;
private String val2;
@Column(name = "val1")
public String getVal1(){
return val1;
}
@Column(name = "val2")
public String getVal2(){
return val2;
}
@Column(name = "id")
public int id(){
return id;
}
}
和表:
EXCH
Exch_ID | VAL1 | VAL2
100000 | AAA | BBB
200000 | CCC | DDD
现在我有另一张表格如下:
exch_extra
Exch_ID | VAL3 | VAL4
100000 | ZZZ | YYY
200000 | XXX | UUU
无论如何我可以将exch_extra表中的val3映射到Entity Exch而不创建额外的Exch_extra实体吗?
所以我可以:
class Exch{
private int id;
private String val1;
private String val2;
private String val3;
@Column(name = "val1")
public String getVal1(){
return val1;
}
@Column(name = "val2")
public String getVal2(){
return val2;
}
@ do something here so i can have val3 from exch_extra table
public String val3(){
return val3
}
@Column(name = "id")
public int id(){
return id;
}
}
答案 0 :(得分:11)
Hibernate有一个@SecondaryTable
注释,可以帮助您将多个表映射到一个实体。
只需添加辅助表注释,连接列(在辅助表中)注释。
然后映射其他列,如:
@Column(name="val3", table="table2")
private int val3;
其中table2
是另一个表的名称。