`

组件映射

 
阅读更多
组件映射:在数据库中为一张表,表示一个对象包含另一个对象
annotation
一。写被包含对象类
package org.hibernate.tutorial.domain;

public class Wife {
	private String wifeName;
	private String age;
	
	public String getWifeName() {
		return wifeName;
	}
	public void setWifeName(String wifeName) {
		this.wifeName = wifeName;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	
}



二。写包含对象,在引用处加入@Embedded注释
package org.hibernate.tutorial.domain;

import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Husband {
	private int id;
	private String name;
	private Wife wife;
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}
	public String getName() {
		return name;
	}
	
	@Embedded
	public Wife getWife() {
		return wife;
	}
	public void setId(int id) {
		this.id = id;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setWife(Wife wife) {
		this.wife = wife;
	}
	
}


三。hebernate.hb.xml配置
<mapping class="org.hibernate.tutorial.domain.Husband"/>


四。测试
public class OneToOneORMappingTest {
	public static void main(String[] args) {
		new SchemaExport(new AnnotationConfiguration().configure("/hibernate.cfg.xml")).create(true, false);
	}
}


测试结果
    create table Husband (
        id integer not null auto_increment,
        name varchar(255),
        age varchar(255),
        wifeName varchar(255),
        primary key (id)
    )


xml方式
一。写同上两个对象
二。编写Husband.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="org.hibernate.tutorial.domain"> 

    <class name="Husband" table="Husband"> 
        <id name="id" column="Husband_ID"> 
            <generator class="native"/> 
        </id> 
        <property name="name"></property>
        <component name="wife">
        	<property name="wifeName"></property>
        	<property name="age"></property>
        </component>

    </class> 

</hibernate-mapping> 


三。hibernate.cfg.xml配置
<mapping resource="org/hibernate/tutorial/domain/Husband.hbm.xml"/>

四。测试如上
分享到:
评论

相关推荐

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

    在本教程中,我们将深入探讨Hibernate中的一个关键概念——关系映射中的组件映射。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,它允许开发人员以面向对象的方式处理数据库操作,极大地简化了数据层...

    hibernate组件映射

    在Hibernate中,组件映射是将一个类的实例作为另一个类的一个属性进行持久化的过程。这种映射方式有助于保持数据模型的整洁和逻辑性,同时也使得数据的管理更为高效。下面我们将详细探讨Hibernate的组件映射。 一、...

    component(组件映射)

    在这个主题中,我们将深入探讨组件映射的概念、它的重要性以及如何在实际应用中使用。本文将主要基于Hibernate中的组件映射进行讨论,因为文件名“hibernate_component_mapping”提示了我们这是关于Hibernate的内容...

    Hibernate组件映射(annotation/xml)

    《Hibernate组件映射:Annotation与XML的融合》 在Java持久化领域,Hibernate是一个不可或缺的框架,它提供了强大的对象关系映射(ORM)能力。本文将深入探讨Hibernate中的组件映射,包括使用注解(Annotation)和...

    11 映射-- 组件映射(人类与姓名类)

    在IT行业中,组件映射是软件开发中的一个重要概念,特别是在对象关系映射(ORM)框架中,如Hibernate。本文将详细解析"11 映射-- 组件映射(人类与姓名类)"这一主题,结合标签"源码"和"工具",探讨如何在Hibernate中...

    Hibernate组件映射代码详解

    "Hibernate组件映射代码详解" titre的知识点: * Hibernate组件映射代码的概念和实现 * 组件关联映射的属性和特点 * Hibernate组件映射的优点和应用场景 描述的知识点: * Hibernate组件映射代码的详细解释 *...

    行业分类-设备装置-使用机器学习来用于映射媒体组件的方法.zip

    它涉及到IT领域中的几个关键知识点,包括行业分类、设备装置、机器学习以及媒体组件映射。 首先,行业分类是商业和信息技术领域的基础,它有助于组织和理解不同行业的工作方式和需求。在这个特定的场景中,可能指的...

    可变环境中并行计算卸载的自适应应用程序组件映射

    为此,本文提出了一种用于可变环境下并行计算分流的自适应应用程序组件映射算法,旨在最小化计算成本和资源间通信成本。 它可以以较低的增量算法成本为终端提供适合当前环境的解决方案。 将应用程序组件的多分区...

    Hibernate教程17_继承映射

    在Java世界中,ORM(对象关系映射)框架如Hibernate极大地简化了数据库操作。本教程主要探讨的是Hibernate中的“继承映射”特性,这是一项关键功能,它允许我们将复杂的类继承结构映射到数据库表中。通过继承映射,...

    hibernate组件之间的关联

    组件映射允许将一个类的属性作为另一个类的一部分,类似于 Java 中的嵌套类。使用 @Component 或 @Embeddable 注解来标记可嵌入的组件类,然后在父类中使用 @Embedded 或 @EmbeddableId 来引用它们。 **联合主键...

    AUTOSAR_SWS_MemoryMapping.pdf

    其中,Memory Mapping是AUTOSAR标准中的一个重要组件,负责将软件组件映射到目标硬件平台上的内存空间中。 Memory Mapping的主要目标是为了在汽车电子系统中实现高效的内存管理,确保软件组件之间的数据交换是安全...

    状态、缓存、映射

    组件映射与继承映射.ppt":组件映射涉及如何将一个对象拆分为多个部分进行存储,而继承映射则是关于如何处理类继承关系在数据库中的表示,可能包含单表继承、多表继承和联合继承等策略。 - "图解.xlsx":可能是以...

    Hibernate配置文件中映射元素详解

    组件映射允许将一个对象的属性组合成另一个对象,`&lt;component&gt;`元素定义了子对象与父对象表字段的映射。它支持`name`(属性名)、`class`(子对象类名)、`insert`、`update`和`access`属性。 ```xml |false" ...

    对Hibernate配置文件中的映射元素详解

    此外,Hibernate还支持组件映射,通过`component`元素,可以将对象的内部结构映射到单独的数据库表或表的一部分。组件可以包含属性、其他组件甚至集合。`component`元素的`name`属性指定了属性名,`class`属性是组件...

    IBM CBM 业务组件化模型

    ### IBM CBM 业务组件化模型 ...通过将复杂的业务活动分解成独立的业务组件,并利用业务组件映射来进行系统性的分析和优化,企业不仅能够提高自身的运营效率,还能更好地应对市场变化,实现可持续发展。

    hibernate配置文件以及类映射文件常用写法1

    6. **组件映射**:比如汽车与轮子,汽车类中包含轮子组件,轮子在汽车的映射文件中被配置。 7. **HQL(Hibernate Query Language)相关配置**:Hibernate提供了自己的查询语言,与SQL类似但更面向对象,用于检索和...

    Hibernate_test

    `hb_02_component`和`hb_03_componentOid`、`hb_03_componentCollection`则涉及到了Hibernate的组件映射(Component Mapping)和复合主键(Composite Key)。组件映射允许将一个类的属性组合成另一个类的一部分,而...

Global site tag (gtag.js) - Google Analytics