2013-07-20 22 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列,如用于其他实体。