Hibernate之组件映射
一,概述
1)一个类中包含另一个类(车与轮子),这两个类就是组合关系.
2)类组合关系的映射,也称为组件映射.
3)组件类和被包含的组件类,共同映射到同一张表.
4)需求:车与轮子.
二,JavaBean设计
1)Car.java
package com.bighuan.d_component;public class Car {private int id;private String name;// 车轮private Wheel wheel;public Car(){}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;}}
2)Wheel.java
package com.bighuan.d_component;
// 轮子
public class Wheel {private int count;private int size;public Wheel(){}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;}}
三,映射文件
1)Car.hbm.xml
<?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="com.bighuan.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>
2)测试
package com.bighuan.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 testSave() {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();}}
执行测试方法,数据库多了一张t_car表:id,name,size,coun,成功将数据插入了数据库.
Hibernate之组件映射相关推荐
- hibernate组件映射
类组合关系的映射,也叫做组件映射! 注意:组件类和被包含的组件类,共同映射到一张表! 需求: 汽车与车轮 <?xml version="1.0"?> <!DOCT ...
- Hibernate第九篇【组件映射、继承映射】
前言 到目前位置,我们已经学习了一对一.一对多.多对一.多对多映射了-既然Hibernate是ORM实现的框架,它还提供了组件映射和继承映射..本博文主要讲解组件映射和继承映射 Java主要的类主要有 ...
- 初识Hibernate之关联映射(一)
上篇文章我们对持久化对象进行的学习,了解了它的三种不同的状态并通过它完成对数据库的映射操作.但这都是基于单张表的操作,如果两张或者两张以上的表之间存在某种关联,我们又该如何利用持久化对象进行操作呢?本 ...
- 4.Hibernate O/R 映射
O/R 映射 目前为止我们已经通过应用 Hibernate 见识过十分基础的 O/R 映射了,但是还有三个更加重要的有关映射的话题需要我们更详细的探讨.这三个话题是集合的映射,实体类之间的关联映射以及 ...
- hibernate中的映射文件xxx.hbm.xml详解总结
一.Hibernate映射文件的作用: Hibernate映射文件是Hibernate与数据库进行持久化的桥梁 二,Hibernate映射文件主要内容: (1).映射内容的定义: Hibern ...
- Hibernate多对多映射 - 连接表
Hibernate多对多映射 - 连接表 今天我们将使用XML和注释配置来研究Hibernate多对多映射.之前我们看过如何在Hibernate中实现One To One和One To Many映射. ...
- Hibernate配置文件与映射文件详解
Hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架. 我们先看一下官方文档所给出的,Hibernate 体系结构的高层视图: 其中PO=P ...
- Hibernate之继承映射
Hibernate的继承映射可以理解为两个持久化类之间的继承关系 例如老师和人之间的关系 持久化类 Person类 public class Person { private Inte ...
- Hibernate 主键维护策略和hibernate 常见的映射类型
先配置Product.hbm.xml,最重要是在这个文件中 <?xml version="1.0" encoding="UTF-8"?> <! ...
- Hibernate 实体关联关系映射----总结
http://lavasoft.blog.51cto.com/62575/39398 Hibernate 实体关联关系映射----总结 花了三天的业余时间,终于写完了Hibernate关联关系映射的所 ...
最新文章
- Android虚拟键盘遮挡EditText的解决方案
- listview改变选中行字体颜色
- maven添加oracle jdbc依赖
- Jquery-core.holdReady()
- 部署kafka kafka的service容器和zookeeper kafka客户端 Elasticsearch的客户端
- 鸡蛋的硬度(信息学奥赛一本通-T1300)
- selenium+webDriver环境搭建和学习基础(java环境)
- 谷粒学院(一)项目介绍
- 码农小汪之理解Java注解。
- 再见了 VMware,一款更轻量级的虚拟机!
- win10系统怎么连接蓝牙耳机 旧时光 oldtimeblog
- WIFI模块RTL8723BU驱动移植
- PLSQL中Oracle设置主键自增
- 留学Essay写作方法从哪里学习?
- PHP输出一段励志的话,100句关于励志的话,青春励志的话,写得好的励志句子
- JavaScript:利用JavaScript实现的功能、算法和奇淫技巧(持续更新)
- eaxsinbx_用“三行列表法”计算两次分部积分题
- leetcod--Missing Number
- Office2016免费下载:Office 2016 Pro Plus 64位 (迅雷复制链接就能下)
- VoLTE KPI指标分类和定义