论坛首页 入门技术论坛

hibernate一对多中,多表中有两个字段需要引用单表的主键,如何写hbm.xml

浏览 3185 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-12-20  
hibernate一对多中,多表中有两个字段需要引用单表的主键,如何写单方中的hbm.xml?

如科目表:Subject(一方)

subjectId
subjectName


前置科目表:PreSubject--存储学习某科目前必须先学某个科目的信息(多方)

id
subjectId(科目id,引用的科目表的id)
preSubjectId(科目的前置科目id,仍然引用的科目表的id)

前置科目映射文件:PreSubject.hbm.xml
<hibernate-mapping  package="db"> 
<class 
   name="PreSubject" 
   table="pre_subject" 
> 
<id 
   name="id" 
   type="integer" 
   column="id" 
> 
<generator   class="increment"/> 
</id> 

<many-to-one   name="subject"   class="db.Subject"   column="subject_id"/> 

<many-to-one   name="preSubject"   class="db.Subject"   column="pre_subject_id"/> 

</class> 
</hibernate-mapping> 



  问题就在下面这个hbm文件,如何写映射中这个set呢?请指点,谢谢!

科目映射文件:Subject.hbm.xml


<hibernate-mapping  package="db"> 
<class 
    name="Subject" 
    table="subject" 
> 

<id 
    name="id" 
    type="integer" 
    column="subject_id" 
> 
    <generator   class="increment"/> 
</id> 

<set   
    name="preSubjects"   
    lazy="false" 
    cascade   =   "all" 
    inverse="true"   
> 
    <key   column="subject_id"/> 
    <one-to-many   class="db.PreSubject"/> 
</set> 

</class> 
</hibernate-mapping> 
   发表时间:2007-12-21  
请知道的指点 谢谢了
0 请登录后投票
   发表时间:2007-12-21  
解决了 我写的正确 第二个没有意义
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics