Hibernatede 一对多映射配置方法(分享)

发布时间 - 2026-01-11 03:17:20    点击率:

以公司和员工为例:公司是一,员工是多

第一步 创建两个实体类,公司和员工

写核心配置文件hibernate.cfg.xml

写映射配置文件Company.hbm.xml 和Worker.hbm.xml

第二步 让两个实体类之间互相表示

(1)在公司实体类里面表示拥有多个员工,把员工的集合作为属性,写入公司的实体类。

//在公司实体类里面表示拥有多个员工,一个公司有多个员工

  //hibernate要求使用集合表示多的数据,使用set集合
private Set<Worker> workers=new HashSet<Worker>();
  public Set<Worker> getWorkers() {
  return workers;
  }
 public void setWorkers(Set<Worker> workers) {
  this.workers = workers;
  } 

(2)在员工实体类里面表示所属公司

- 一个员工只能属于一个公司

// 在员工实体类里面表示所属公司,一个员工只能属于一个公司,把公司类作为员工的一个属性,写入员工类。
private Company company;
 public Company getCompany() {
  return company;
  }
 public void setCompany(Company company) {
  this.company = company;
  }

第三步 配置映射关系

(1)一个实体类对应一个映射文件

(2)把映射最基本的配置完成

(3)在映射文件中,配置一对多关系

- 在公司映射文件中,配置所有的员工

1 set标签(class标签的子标签)表示员工的集合

name属性: 属性值写的是公司实体类里面表示员工的set集合名称

2 key标签(set标签的子标签)

column属性值:外键名称

3 one-to-many标签(set标签的子标签):

class属性:里面写多的一方的实体类全路径(即员工类)

代码:

<set name="workers"> 
   <key column="c_w_id"/> 
<one-to-many class="entity.Worker"/> 
</set>

- 在员工映射文件中,配置其所属公司

使用many-to-one标签(class标签的子标签),表示员工所属公司

1 name属性:因为在员工实体类使用company对象表示,写company名称

2 class属性:Company全路径

3 column属性:外键名称(要和公司映射文件中的外键名称保持一致)

代码:

<many-to-one 
name="company" class="entity.Company" column="c_w_id">
</many-to-one>

第四步 创建核心配置文件,把映射文件引入到核心配置文件中

<!-- 第三部分: 把映射文件放到核心配置文件中 必须的-->
 <mapping resource=" entity/Company.hbm.xml"/> 

以上这篇Hibernatede 一对多映射配置方法(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# Hibernatede  # 一对多映射  # Hibernate双向一对一映射关系配置代码实例  # 深入解析Java的Hibernate框架中的一对一关联映射  # hibernate一对多关联映射学习小结  # Hibernate多对一单项关联  # 举例讲解Java的Hibernate框架中的多对一和一对多映射  # java Hibernate 一对多自身关联问题  # Hibernate的一对一  # 一对多/多对一关联保存的实现  # 实体类  # 配置文件  # 多个  # 给大家  # 键名  # 的是  # 希望能  # 为例  # 这篇  # 第二步  # 小编  # 第三步  # 大家多多  # 第四步  # Worker  # hbm  # xml  # Company  # class  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何使用 jQuery 正确渲染 Instagram 风格的标签列表  C语言设计一个闪闪的圣诞树  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  lovemo网页版地址 lovemo官网手机登录  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  JavaScript如何实现音频处理_Web Audio API如何工作?  如何在企业微信快速生成手机电脑官网?  公司门户网站制作流程,华为官网怎么做?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel如何处理CORS跨域请求?(配置示例)  如何在建站之星绑定自定义域名?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Laravel如何实现数据库事务?(DB Facade示例)  如何挑选高效建站主机与优质域名?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel API资源类怎么用_Laravel API Resource数据转换  zabbix利用python脚本发送报警邮件的方法  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  如何快速搭建高效WAP手机网站?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  千库网官网入口推荐 千库网设计创意平台入口  如何用PHP快速搭建高效网站?分步指南  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何自定义建站之星网站的导航菜单样式?  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  如何在Windows环境下新建FTP站点并设置权限?  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  手机网站制作与建设方案,手机网站如何建设?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  香港服务器部署网站为何提示未备案?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  在线教育网站制作平台,山西立德教育官网?  浅析上传头像示例及其注意事项  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  利用JavaScript实现拖拽改变元素大小  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  如何基于云服务器快速搭建网站及云盘系统?  网站图片在线制作软件,怎么在图片上做链接?  b2c电商网站制作流程,b2c水平综合的电商平台?  魔方云NAT建站如何实现端口转发?