夜光带你走进Hibernate(六)

本文深入解析了一对多与多对一的ORM映射原理及其实现方式,通过具体代码示例,阐述了如何在Java环境下使用Hibernate框架进行实体关系映射,包括多对一和一对多的配置细节。

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

夜光序言:

 

你一脸笑意,我满眼是你

 

正文:

多对一, 实现   

目的:

通过多对一映射,能完全描述地址表、用户表的数据库的关系~~

public class Address {

 

private int id;

private String name;

private String shortName;

private String code;

 

// 地址与用户, 是多对一的关系

private Users user;

  

}

多对一映射:

<!--

夜光:多对一的配置:

1.映射的对象

2.对象对应的外键字段

3.对象的类型

注意:

对象一定是有映射文件进行映射!~~ (cn.Genius.d_many2one.Users 对应有映射文件)

-->

 <many-to-one name="user" column="user_id" class="Users"></many-to-one>

 

 

 

 

一对多, 实现   

public class Users {

 

private int id;

private String name;

private int age;

// 用户与地址,是一对多的关系  【夜光:注意一定要用接口接收~~】

private Set<Address> address = new HashSet<Address>();

}

一对多映射:

<set name="address" table="t_address">

   <key column="user_id"></key>

   <one-to-many class="Address"/>

 </set>

 

 

 

 

 

夜光总结:

一对多与多对一映射,

可以只配置多对一, 只能通过的多的一方维护关系~~

可以只配置一对多,       只能通过一的一方维护关系~~

双向配置: 一对多与多对一,   可以通过双向维护关系~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值