Hibernate关系映射之多对一(many-to-one)、一对多(one-to-many)简单demo

举个栗子

教师(teacher)与课程(course)之间的关系

一个教师可以上多门课程(one-to-many),同一课程只能由一个老师上课。

数据库表结构:

teacher(t_id,t_name);

course(c_id,c_name,t_id);

JavaBean

Course的映射文件

<hibernate-mapping  package="beans">
    <class name = "Course" table="course">
        <id name = "cid" column="c_id">
            <generator class="assigned" />
        </id>
        <property name="cname" column="c_name"></property>
        <set name="studentSet" table="score" inverse="true" cascade="save-update" >
        <key column="c_id"></key>
        <many-to-many class="Student" column="s_id"></many-to-many>
        </set>

<!--         多个课程对应一个老师                                                  -->
        <many-to-one name="teacher" column="t_id"></many-to-one>
    </class>
</hibernate-mapping>

<hibernate-mapping package="beans">
    <class name = "Teacher" table="teacher">
        <id name = "tid" column="t_id">
            <generator class="assigned" />
        </id>
        <property name="tname" column="t_name"></property>

<!-- 一个老师对应多个课程 通过t-id这一列来连接表-->
        <set name="courseSet" inverse="true" cascade="save-update">
            <key column="t_id"></key>
            <
one-to-many class="Course"/>
        </set>

    </class>
</hibernate-mapping> 

测试:查询老师表,并且查询每个老师对对应的课程:

 

结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值