首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

一对多双向关系,该怎么处理

2012-03-11 
一对多双向关系Java codePreorderJourney.hbm.xml 如下 many-to-onenameticketOrderclasscom.sany.h

一对多双向关系

Java code
PreorderJourney.hbm.xml 如下 <many-to-one            name="ticketOrder"            class="com.sany.hibernate.fa_table.TicketOrder"            cascade="none"            outer-join="auto"            column="ticketorder_id" />TicketOrder.hbm.xml如下<one-to-many            class="com.sany.hibernate.fa_table.PreorderJourney"/>

我在保存TicketOrder的同时,自动也保存了PreorderJourney,但 表preorderjourney的ticketorder_id字段却是空的,
请问各位hibernate大虾,该如何改呀?

[解决办法]
(1);one-to-one
表mainTable的主键对应relationTable的主键,
多个字段作主键时,按照在mapping文件中字段出现的顺序一一对应(如果字段数不同 会 exception)

eg:配置Teacher表的mapping文件:
<one-to-one name="wife" class="db.Teacher"/> (这个配置的意思是"老师的老婆是一个老师");

(2)many-to-one
这个标记既属于“映射标记”又是“关系标记”。它有update和insert属性即是 明 证。

表mainTable的一些字段对应relationTable的主键
在many-to-one标记中要声明哪些字段对应relationTable的主键

eg:配置schoole表的mapping文件:
<many-to-one name="address" class="db.Address">
<column name="SCHOOLE_ADDRESS"/>
</many>
(school表的字段SCHOOLE_ADDRESS对应address表的key(字段name));

热点排行