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

本文探讨了教师与课程在数据库中的关系模型,通过具体示例解析了一对多及多对一的关系映射,详细介绍了使用Hibernate进行JavaBean映射的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

举个栗子

教师(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> 

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

 

结果:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值