`

Hibernate 组件关联关系

阅读更多
实体关联的属性是个复杂类型的持久化类,但不是实体:数据库中没有表与该属性对应。需要将该属性的子属性保存到当前实体对应的表中。

Citizen类:
public class Citizen {
	private Integer id;
	private String name;
	private Address address;
	public Citizen() {
	}
	public Citizen(String name, Address address) {
		this.name = name;
		this.address = address;
	}
	// Getters and setters are omitted
}


Address类:
public class Address {
	private String province;
	private String city;
	private String district;
	public Address() {
	}
	public Address(String province, String city, String district) {
		this.province = province;
		this.city = city;
		this.district = district;
	}
	// Getters and setters are omitted
}


Citizen.hbm.xml:
<hibernate-mapping package="com.john.myhibernate.domain">
	<class name="Citizen" table="citizen">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name" length="28" not-null="true" />
		<component name="address">
			<property name="province"/>
			<property name="city"/>
			<property name="district"/>
		</component>
	</class>
</hibernate-mapping>


测试保存:
public void testSave() {
	Session s = null;
	Transaction tx = null;
	
	Address address = new Address("Zhejiang", "Hangzhou", "Binjiang");
	Citizen citizen = new Citizen("Tremendously", address);
	
	try {
		s = HibernateUtil.getSession();
		tx = s.beginTransaction();
		s.save(citizen);
		tx.commit();
	} catch (HibernateException e) {
		if (tx != null)
			tx.rollback();
		e.printStackTrace();
	} finally {
		if (s != null)
			s.close();
	}
}


数据库记录:
id name         province city     district
  1 Tremendously Zhejiang Hangzhou Binjiang
分享到:
评论

相关推荐

    hibernate组件之间的关联

    hibernate组件之间的关联hibernate组件之间的关联hibernate组件之间的关联hibernate组件之间的关联

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one to many) 7.3. 使用连接表的单向关联...

    Hibernate学习笔记

    022 component(组件)关联映射 023 复合主键 关联映射 024 其它 关联映射 025 hibernate 悲观锁、乐观锁 026 hibernate 操作树形结构 027 hibernate 查询语言(HQL) 028 hibernate 缓存(性能优化策略) 029 hibernate ...

    hibernate学习笔记

    组件component映射(hibernate_component) 27 复合(联合)主键映射(hibernate_composite) 27 集合(collection)映像 (hibernate_collection) 28 Hibernate 对数据库的并发支持 30 悲观锁(hibernate_pessimistic...

    Hibernate Annotations 中文文档

    2.2.5. 映射实体Bean的关联关系 2.2.5.1. 一对一(One-to-one) 2.2.5.2. 多对一(Many-to-one) 2.2.5.3. 集合类型 2.2.5.4. 用cascading实现传播性持久化(Transitive persistence) 2.2.5.5. 关联关系获取 2.2.6. ...

    Hibernate中文API大全

    (A mapping like this allows you to map extra columns of a many-to-many association table to the composite element class.) 接下来的的例子是从Order到Item的一个多对多的关联关系, 关联属性是 purchaseDate, ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     11.2.1 用客户化映射类型取代Hibernate组件  11.2.2 用UserType映射枚举类型  11.2.3 实现CompositeUserType接口  11.2.4 运行本节范例程序  11.3 操纵Blob和Clob类型数据  11.4 小结  11.5 思考题 第12章 ...

    hibernate annotation 中文文档

    2.2.5. 映射实体Bean的关联关系 2.2.5.1. 一对一(One-to-one) 2.2.5.2. 多对一(Many-to-one) 2.2.5.3. 集合类型 2.2.5.4. 用cascading实现传播性持久化(Transitive persistence) 2.2.5.5. 关联关系获取 2.2.6. 映射...

    Hibernate+中文文档

    7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one to many) 7.3. 使用连接表的单向关联...

    Hibernate实战(第2版 中文高清版)

     14.3.1 联结关系和关联   14.3.2 报表查询   14.3.3 利用子查询   14.4 小结   第15章 高级查询选项   15.1 利用条件和示例查询   15.1.1 基本的条件查询   15.1.2 联结和动态抓取   15.1.3 投影...

    hibernate3.2中文文档(chm格式)

    7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one to many) 7.3. 使用连接表的单向关联...

    HibernateAPI中文版.chm

    7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one to many) 7.3. 使用连接表的单向关联...

    Hibernate学习笔记_songjignhao_1

    一对多双向关联关系、一对多双向自身关联关系、一对一关联关系(主键关联、外键关联)、一对多与一对一结合、多对多关联关系、Map、Set、List与Bag映射关系、查询排序(内存排序和数据库排序)、联合主键的映射规则、...

    Hibernate中文详细学习文档

    7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one to many) 7.3. 使用连接表的单向关联...

    Hibernate 中文 html 帮助文档

    7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one to many) 7.3. 使用连接表的单向关联(Unidirectional ...

    Hibernate注释大全收藏

    Hibernate注释大全收藏 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id;...映射实体Bean的关联关系 一对一 使用 @OneToOne...

    Hibernate3.2官方中文参考手册

    Hibernate3.2官方中文参考手册,内容涉及Hibernate入门知识、配置、集合类映射、关联关系映射、组件、事务并发、批量处理、对象事件等知识。

    Hibernate框架参考文档

    7. 关联关系映射; 8. 组件(Component)映射; 9. 继承映射(Inheritance Mappings); 10. 与对象共事; 11. 事务和并发; 12. 拦截器与事件(Interceptors and events); 13. 批量处理(Batch processing; 14. HQL: ...

    hibernate 教程

    开始Hibernate之旅 1.2. 第一个可持久化类 1.3. 映射cat 1.4. 与猫同乐 1.5. 结语 2. 体系结构 2.1. 总览 2.2. JMX集成 2.3. JCA支持 3. SessionFactory配置 3.1. 可编程配置方式...

Global site tag (gtag.js) - Google Analytics