Hibernate hbm 外键关联——SSH (Spring+Struts+Hibernate)框架搭建之配置文件序列六

      hibernate管理数据库后,bbm.xml的关联配置很重要,<many-to-one> 与<one-to-many>一定要配置正确      

      继上次介绍了:

      Struts2——SSH (Spring+Struts+Hibernate)框架搭建之配置文件序列一

      Spring——SSH (Spring+Struts+Hibernate)框架搭建之配置文件序列二

      Spring beans——SSH (Spring+Struts+Hibernate)框架搭建之配置文件序列三

      Hibernate——SSH (Spring+Struts+Hibernate)框架搭建之配置文件序列四

      Hibernate hbm——SSH (Spring+Struts+Hibernate)框架搭建之配置文件序列五

      下面来介绍一下与表的关联相关的Teacher.hbm.xml的配置

    

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
   
<hibernate-mapping package="net.cxiny.po">
   	<class name="Teacher" table="teacher">
   		<id name="tid" column="tid">
   			<generator class="native"/>
   		</id>
   		<property name="name" length="45" not-null="true"/>
   	  	<many-to-one cascade="save-update,persist" name="subject" column="bid" foreign-key="fk_teacher_bid_subject_bid" />
   		<many-to-one cascade="save-update,persist" name="role" column="rid" foreign-key="fk_teacher_rid_role_rid" />
   		<many-to-one cascade="save-update,persist" name="position" column="pid" foreign-key="fk_teacher_pid_position_pid" />
   	</class>
</hibernate-mapping> 
上面的是多对一,用的是<many-to-one>对于职位的外键:fk_teacher_pid_position_pid,即teacher表的pid字段关联position表的pid字段

下面是Position.hbm.xml的相关配置


<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
   
<hibernate-mapping package="net.cxiny.po">
   	<class name="Position" table="position">
   		<id name="pid" column="pid">
   			<generator class="native"/>
   		</id>
   		<property name="pname" length="45" not-null="true"/>
   		<set name="teachers" cascade="save-update,persist">  <!-- 本model中的属性 -->
   			<!-- Teacher表中的pid属性值参照Position表中的pid -->
   			<key  column="pid" foreign-key="fk_teacher_pid_position_pid"/>
   			<!-- 一对多,set中放置的是Teacher -->
   			<one-to-many  class="Teacher"/>
   		</set>
   	</class>
</hibernate-mapping> 




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值