关系多对多与属性:如何?

时间:2010-02-12 08:52:54

标签: java hibernate orm many-to-many

请提前告诉我我的英语不好,因为这不是我的母语 就像在这个例子中: http://www.xylax.net/hibernate/manytomany.html


但我在表foo-bar 2属性中不属于主键或外键:一个布尔值(A)&一个字符串(B)。 我知道如何在没有属性的情况下映射它,但在这种情况下不是。

我在文件中没有找到答案
我需要知道如何映射它&我必须在我的班级Foo中宣布什么样的收藏。

提前感谢您的回答。
我非常感谢你给我的时间。

2 个答案:

答案 0 :(得分:1)

我猜你需要创建一个第三类来保存这些属性

答案 1 :(得分:1)

引用Hibernate用户常见问题解答的I have a many-to-many association between two tables, but the association table has some extra columns (apart from the foreign keys). What kind of mapping should I use?条目:

  

使用复合元素对模型进行建模   关联表。例如,给定   以下关联表:

create table relationship ( 
    fk_of_foo bigint not null, 
    fk_of_bar bigint not null, 
    multiplicity smallint, 
    created date )
     

您可以使用此集合映射   (在Foo类的映射中):

<set name="relationship">
    <key column="fk_of_foo"/>
    <composite-element class="Relationship">
        <property name="multiplicity" type="short" not-null="true"/>
        <property name="created" type="date" not-null="true"/>
        <many-to-one name="bar" class="Bar" not-null="true"/>
    </composite-element>
</set>
     

您也可以使用<idbag>   代理关键栏目   收集表。这样就可以了   有可空列。

     

另一种方法是简单地   将关联表映射为正常   具有两个双向的实体类   一对多协会。