类组合关系的映射,也叫做组件映射!

注意:组件类和被包含的组件类,共同映射到一张表!

需求: 汽车与车轮

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- 组件映射-->
<hibernate-mapping package="loaderman.d_component"><class name="Car" table="t_car"><id name="id"><generator class="native"></generator></id>    <property name="name" length="20"></property><!-- 组件映射 --><component name="wheel"><property name="size"></property><property name="count"></property></component></class></hibernate-mapping>

package loaderman.d_component;import org.hibernate.Hibernate;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.junit.Test;public class App {private static SessionFactory sf;static {sf = new Configuration().configure().addClass(Car.class).buildSessionFactory();}@Testpublic void getSave() {Session session = sf.openSession();session.beginTransaction();// 轮子Wheel wheel = new Wheel();wheel.setSize(38);wheel.setCount(4);// 汽车Car car = new Car();car.setName("BMW");car.setWheel(wheel);// 保存
        session.save(car);session.getTransaction().commit();session.close();}}

package loaderman.d_component;public class Car {private int id;private String name;// 车轮private Wheel wheel;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Wheel getWheel() {return wheel;}public void setWheel(Wheel wheel) {this.wheel = wheel;}}

package loaderman.d_component;
// 车轮
public class Wheel {private int count;private int size;public int getCount() {return count;}public void setCount(int count) {this.count = count;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}}


转载于:https://www.cnblogs.com/loaderman/p/10038001.html

hibernate组件映射相关推荐

  1. Hibernate组件(Component)映射

    组件(Component)映射 Component(组件)是一个被包含的对象,它作为值类型被持久化,而非一个被引用的实体."component(组件)"这一术语指的是面向对象的合成 ...

  2. Hibernate第九篇【组件映射、继承映射】

    前言 到目前位置,我们已经学习了一对一.一对多.多对一.多对多映射了-既然Hibernate是ORM实现的框架,它还提供了组件映射和继承映射..本博文主要讲解组件映射和继承映射 Java主要的类主要有 ...

  3. 用Hibernate Tools生成Hibernate Mapping映射文件

    用Hibernate Tools生成Hibernate Mapping映射文件 Eclipse中要集成安装Hibernate Tools组件 如果没有,请查看:Eclipse juno 中安装 JBo ...

  4. Hibernate之深入Hibernate的映射文件

    这周周末 要把hibernate的映射文件搞定 .. 1.映射文件的主结构 主要结构  :根元素为<hibernate-mapping ></hibernate-mapping> ...

  5. Hibernate实体映射配置1(java@注解方式)

    实体和数据库之间存在某种映射关系,hibernate根据这种映射关系完成数据的存取.在程序中这种映射关系由映射文件(*.hbm.xml)或者java注解(@)定义. 本文以java注解的形式总结映射关 ...

  6. Hibernate【映射】续篇

    组件映射 Java主要的类主要有两种方式 组件映射实际上就是将组合关系的数据映射成一张表,组件类和被包含的组件类映射成一张表 有的时候,两个类的关系明显不是继承关系,但两个类的亲密程度很高,在一个类里 ...

  7. Hibernate【映射】知识要点

    前言 前面的我们使用的是一个表的操作,但我们实际的开发中不可能只使用一个表的-因此,本博文主要讲解关联映射 集合映射 需求分析:当用户购买商品,用户可能有多个地址. 数据库表 我们一般如下图一样设计数 ...

  8. Hibernate关联关系映射

    1.  Hibernate关联关系映射 1.1.  one to one <class name="Person"> <id name="id" ...

  9. Hibernate关联关系映射实例速查

    Hibernate关联关系映射实例速查 Hibernate的映射关系很多,也比较复杂,也很容易忘记.这个基本上占据了Hibernate学习的七成时间.熟悉这些映射模型,需要大量的实践才能掌握.下面是我 ...

最新文章

  1. 【廖雪峰python进阶笔记】模块
  2. SGU 185 Two shortest
  3. Java中的工厂方法模式
  4. uva 11269——Setting Problems
  5. python i开发工具_Python轻量级开发工具Genay使用
  6. springBoot 通过使用log4j2
  7. 【计算机视觉】【车辆识别】--Matlab实现
  8. Hibernate-----5、持久化对象
  9. spring boot面试_Spring Boot面试问题
  10. JS重要知识点总结-不完善
  11. iptables介绍与实践
  12. 投票最喜欢报表模板,赢取复联3正版玩偶
  13. (Oracle)数据量统计存储过程
  14. window操作Python27
  15. 【Linux】ubuntu18.04 安装英伟达显卡驱动
  16. 没有文件夹则创建文件夹
  17. 打开outlook显示服务器内存不足,outlook无法启动,总说计算机内存不足或磁盘已满,是怎么回事?...
  18. k8s node节点重启后遇到的问题及解决
  19. 私域流量经济时代,商家如何打造属于你的店铺品牌私域流量池?
  20. 离散数学-10.1群

热门文章

  1. 原生js和jquery常用的DOM操作
  2. HttpClient简单请求和返回样例
  3. Sql server 备份还原后出现“受限制用户”问题
  4. Oracle删除用户和表空间
  5. I00036 盈数(Abundant number)
  6. 最短路算法floyd
  7. Hibernate,JPA注解@Embeddable
  8. MVP Open Day小记
  9. C语言函数多个返回值
  10. C# 学生简单管理系统 数据库 1.0版本