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

hibernate映射问题
表一:media 属性包括(id,type,type_id,......);
表二:media_movie 属性包括(id,title,......);
表三:media_carton 属性包括(id,title,......);
表四:media_edu 属性包括(id,title,......);
表五:media_sport 属性包括(id,title,......);



表二,三,四的很多公共属性放入表一中.

在查询表一时,可以根据type(是只表二,三,四其中一个),type_id将对应表二或三或四的一条记录查询出.

问题:对应关系怎么写?表一与二,三,四都有关系,怎么映射hibernate,表一的结构是否要改,或者增加属性?




------解决方案--------------------
看了好几遍 ,就我理解的给予解答,表一必须与其它三个表建立外键关系,通俗的讲,表一是总表,其他表是分表对吧,那么表一跟其它表是主外键关系 ,不知道我理解的对不对
------解决方案--------------------
<hibernate-mapping>
<class name="表1" table="表1" schema="dbo" >
<many-to-one name="表2" class="表2" 
<column name="表2.id" />
</many-to-one>
<many-to-one name="表3" class="表3" 
<column name="表3.id" />
</many-to-one>
<many-to-one name="表4" class="表4">
<column name="表4.id" />
</many-to-one>
 </class>
</hibernate-mapping>
------解决方案--------------------
建议:在二三四表中都加一个字段linkId,set表二三四的linkId为表一的id,这样通过表一的id,就可以查找出对应的表二三四。