2013-07-20 54 views
0

首先我要感謝大家閱讀這個。 我想這個問題可能已經在這個論壇上被問過了,但我找不到它,可能因爲我不知道如何搜索它。任何幫助將非常有用。休眠 - 多對多的關係當鏈接表不僅僅是外鍵

在我的Java應用程序的數據庫中,有兩個表使用多對多關係相互關聯。當然,它們之間有一個鏈接表。

表1:模塊
列:ID,NAME,等等

表2:狀態
列:ID,NAME

表3:Module_status
色譜柱:MODULE_ID,STATUS_ID,STATUS_VALUE

當我在hibernate中設置多對多關係時,生成的類Modules有一個Status列表,但我需要的信息之一是在Module_status表中,它是值e在給定模塊上顯示此狀態。
有沒有一種方法來配置框架,我可以在Module對象中檢索這些信息?

回答

4

Module_Status表不僅僅是其他兩個表之間的連接表。它包含其他信息。因此它就像所有其他的功能表一樣,應該被映射爲一個實體。因此,您將有

Module { 
    @OneToMany 
    Set<ModuleSatus> 
} 

ModuleStatus { 
    @ManyToOne 
    Module 

    @ManyToOne 
    Status 
} 

Status { 
    @OneToMany 
    Set<ModuleStatus> 
} 

爲了使映射和你的生活變得更加簡單,而你的模型乾淨,我真的勸你也在這Module_Status表中添加單列,自動生成的ID列,如用於其他實體。