`
xxp3369
  • 浏览: 151254 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

component映射

阅读更多
component映射

在hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid,
component可以成为是值对象(DDD)

采用component映射的好处:它实现了对象模型的细粒度划分,层次会更分明,复用率会更高


package com.bjsxt.hibernate;

public class Contact {
	
	private String email;
	
	private String address;
	
	private String zipCode;
	
	private String contactTel;

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getZipCode() {
		return zipCode;
	}

	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}

	public String getContactTel() {
		return contactTel;
	}

	public void setContactTel(String contactTel) {
		this.contactTel = contactTel;
	}
}



package com.bjsxt.hibernate;

public class User {
	
	private int id;
	
	private String name;
	
	private Contact contact; 
	
	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 Contact getContact() {
		return contact;
	}

	public void setContact(Contact contact) {
		this.contact = contact;
	}
	
}



<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjsxt.hibernate.User" table="t_user">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>
		<component name="contact">
			<property name="email"/>
			<property name="address"/>
			<property name="zipCode"/>
			<property name="contactTel"/>
		</component>
	</class>
</hibernate-mapping>
分享到:
评论

相关推荐

    component(组件映射)

    Component映射是Hibernate提供的一种机制,它允许我们将多个相关的简单属性或者对象封装到一个复合对象中,以此来简化数据模型的设计。这篇博客的文章标题为“Component(组件映射)”,暗示了内容可能涉及如何在...

    Hibernate入门到精通

    Component映射允许将复杂类型嵌入到实体中,例如`User`类包含一个`Contact`对象,`Contact`有自己的属性如`email`、`address`和`zipCode`。在Hibernate映射中,可以使用`&lt;component&gt;`标签来定义。 此外,还涉及到...

    Hibernate学习笔记

    继承关联映射允许在数据库表中存储继承关系,而component映射用于将复杂的对象分解成多个简单的组件存储。复合主键关联映射则是处理具有多个字段作为主键的表与对象之间的映射。 通过理解这些知识点,开发者可以更...

    hibernate学习笔记

    - **组件component映射**:将实体类中的复杂属性作为一个组件映射到表中。 - **复合(联合)主键映射**:使用多个字段作为主键。 - **集合(collection)映射**:将实体类中的集合属性映射到数据库表中。 --- #...

    hibernate笔记

    9. **Component映射**:Component用于将多个属性组合成一个复杂的对象,可以映射到表的单个行或多个列,它不是独立存在的,而是依附于其他实体。 10. **集合映射**:包括Set、List、Map的映射,用于处理一对多、多...

    Hibernate 入门

    - **Component映射**: 将Java类的属性映射到数据库表中的列。 - **Set、List、Map映射**: 处理一对多、多对多关系,支持排序等功能。 - **对象状态与识别**: - 理解Hibernate中的对象生命周期(瞬态、持久化、...

    Hibernate教程09_关系映射之组件映射

    在" Hibernate教程09_关系映射之组件映射 "的配套源码`s2sh_relation06_component`中,你可能会看到如何实际应用这些概念的例子。源码可能包含了`Employee`、`Address`以及其他相关类,以及对应的配置文件,如`...

    MxComponent4手册.zip

    MX Component4允许用户定义变量映射,将PLC内部的寄存器或存储器地址映射到软件中的变量,从而读取或写入PLC的数据。这种映射机制极大地简化了数据交互过程,提高了编程效率。 5. **事件驱动编程** 该组件支持...

    UPNP端口自动映射源代码

    使用Delphi来编写UPNP端口映射的代码,开发者可以利用其强大的VCL(Visual Component Library)组件库和面向对象的特性,创建直观且高效的用户界面,并处理底层的网络通信。 4. **源代码分析**: 源代码可能包括...

    三菱PLC通讯组件MX Component Version 4编程手册,操作手册

    支持多种数据类型,如位、字节、整数、浮点数等,以及PLC中的各种寄存器和地址映射。通过结构体,可以方便地处理复杂的数据结构。 7. **示例代码与调试**: 编程手册通常包含丰富的示例代码,帮助开发者快速上手...

    hibernate组件映射

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了Java应用与数据库之间的交互。在Hibernate中,组件映射是将一个类的实例作为另一个类的一个属性进行持久...

    NHibernate XML映射文件自动生成工具

    3. **&lt;component&gt;**:映射类内的复杂类型或嵌入式对象。 4. **, , , **:这些集合类型的映射元素,用于处理一对多或多对多的关系。 在实际应用中,NHibernate通过读取这些XML映射文件,可以自动执行CRUD(创建、...

    关于Component核映射几点注解 (1997年)

    这篇文章的主要内容是关于在数学领域中,对locale理论中的component核映射的一些注解和定理。locale是一种数学上的结构,它是完备的Heyting代数,这种代数结构在数学的很多分支都有应用,包括拓扑学和逻辑学。文章的...

    MX Component4 中文编程手册和操作手册

    2. **PLC连接**:该手册将详细讲解如何配置MX Component4与不同型号的PLC建立连接,包括设置通信参数、选择正确的通信协议、地址映射等步骤。 3. **编程环境**:MX Component4提供了直观的编程界面,支持拖放式编程...

    VB 通过MX Component 操作FX PLC

    开发者需要理解这些方法的用途和使用方式,以及如何结合PLC的寄存器映射进行数据读写。 7. **错误处理**:在实际应用中,必须考虑网络不稳定、PLC离线等情况,因此VB程序需要包含适当的错误处理机制,以确保系统的...

Global site tag (gtag.js) - Google Analytics