日期:2014-05-20  浏览次数:20714 次

hibernate 关联映射问题
表结构:A表为试卷表(a_id,a_title),C表为问题表(c_id,c_title),B表为试卷问题关联表(b_id,a_id,c_id)。
请问这个要怎么去做关系映射?
怎么样才能实现获取试卷实例时同时获取该试卷下的所有问题列表?

------解决方案--------------------
这个是双向多对多映射的关系。你可以设置两个对象试卷,问题
试卷有三个属性(a_id,a_title,c)
问题有三个属性(c_id,c_title,a)然后添加geter seter
然后再关系映射表中设置关系
试卷
<set name="c" table="c" cascade="save-update">
<key column="a_id"/>
<many-to-many column="c_id" class="问题">
</set>
问题
你自己写吧,呵呵
------解决方案--------------------
XML code

        //A和C表示的是试卷表和问题表实体类,现在的是问题关联表实体类
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "a_id")
    private A a;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "c_id")
    private C c;

------解决方案--------------------
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "a_id")
private A a;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "c_id")
private C c;