入离职管理系统——如何实现非主键多对一关联

在入离职管理系统中,一个员工(staff)只能有一个职位(position),而一个职位(position)可以被多个员工(staff)担任,所以t_staff 和 t_position存在多对一的关系。
但是,t_staff表中的字段position关联的并不是t_position中的主键,如下:
t_staff表

t_position表

那么,对于这种情况,如何在SSH中设置多对一关系呢?
答案是:在”many-to-one”标签中使用property-ref属性即可,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC  
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"   
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">   
<hibernate-mapping>
    <class name="com.entry_exit.vo.StaffVo" table="t_staff">
        <!-- 主键 -->
        <id name="id" column="id" type="int" />
        <property name="staffid" column="staffid" type="text" />
        <property name="fullname" column="fullname" type="text" />
        <property name="email" column="email" type="text" />
        <property name="mobile" column="mobile" type="text" />
      <!--    <property name="position" column="position" type="text" /> -->
        <property name="birthday" column="birthday" type="date" />
        <property name="status" column="status" type="text" /> 
        <many-to-one property-ref="position" name="position" class="com.entry_exit.vo.PositionVo" cascade="save-update"  ></many-to-one>

    </class>
</hibernate-mapping>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值