簡體   English   中英

Hibernate:映射另一個表列中的值

[英]Hibernate: mapping a value from another table column

我有一個域實體看起來像這樣:

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;
    }
 }

Hibernate有一個@SecondaryTable注釋,可以幫助您將多個表映射到實體。

只需添加輔助表注釋,連接列(在輔助表中)注釋。

然后映射其他列,如:

@Column(name="val3", table="table2")
private int val3;

其中table2是另一個表的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM