`
p_3er
  • 浏览: 55776 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

第九章 关系映射 组件关联映射

 
阅读更多

组件是针对同一张表中的字段进行映射,作用是将字段多的一张表分成多个实体类来表示

如:nameuser

user表中有first_namelast_name。在实体类中,自定义一个Name类来表示first_namelast_name;


Name实体类:

package cn.framelife.mvc.entity;

public class Name {
	private String firstName;
	private String lastName;

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

}


User实体类:

package cn.framelife.mvc.entity;

import java.io.Serializable;

public class User implements Serializable {
	private Integer id;
	private Name name;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Name getName() {
		return name;
	}

	public void setName(Name name) {
		this.name = name;
	}
}


User.hbm.xml:

<hibernate-mapping>
    <class name="cn.framelife.hibernate.entity.User" table="user" catalog="hibernate">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="native" />
        </id>
        <component name="name" class="cn.framelife.hibernate.entity.Name">
        	<property name="firstName" column="first_name"></property>
        	<property name="lastName" column="last_name"></property>
        </component>
    </class>
</hibernate-mapping>


增加操作:

tx = session.beginTransaction();
			Name name = new Name();
			name.setFirstName("111");
			name.setLastName("2222");
			
			User user = new User();
			user.setName(name);
			session.save(user);
			
			tx.commit();


分享到:
评论

相关推荐

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

    第9章 通过Hibernate操纵对象(下)  9.1 与触发器协同工作  9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过...

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

    第9章 通过Hibernate操纵对象(下)  9.1 与触发器协同工作  9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过...

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

    第9章 通过Hibernate操纵对象(下)  9.1 与触发器协同工作  9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过...

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

    第9章 通过Hibernate操纵对象(下)  9.1 与触发器协同工作  9.2 利用拦截器(Interceptor)生成审计日志  9.3 Hibernate的事件处理机制  9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过...

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

     第9章 使用对象   9.1 持久化生命周期   9.1.1 对象状态   9.1.2 持久化上下文   9.2 对象同一性和等同性   9.2.1 引入对话   9.2.2 对象同一性的范围   9.2.3 脱管对象的同一性   9.2.4 扩展持久...

    hibernate_reference中文文档.pdf

    ##### 1.2 第二部分 — 关联映射 此章节深入探讨了 Hibernate 中对象之间的关联映射。 - **1.2.1 映射 Person 类**:通过映射一个具体的 `Person` 类来展示一对一、一对多等关联类型的实现。 - **1.2.2 单向 Set-...

    大连交通大学CoA第4章课后习题答案

    在本课程中,我们主要关注的是计算机组织与体系结构(CoA)的第四章内容,尤其是与缓存(Cache)相关的部分。缓存是提高计算机系统性能的关键组件,它通过存储最近频繁访问的数据来减少主内存与CPU之间的数据传输...

    MyBatis3用户指南中文版.pdf(高清书签版)

    第六章是关于参数映射和结果映射,这涉及到如何将 Java 对象与数据库记录进行对应,包括基本类型、复杂类型的映射,以及关联关系的处理。 第七章和第八章会讲解缓存机制和事务管理,MyBatis 支持本地缓存和二级缓存...

    信息系统分析详细总结(第九章 面向对象设计).docx

    本文将深入探讨面向对象设计(OOD)在信息系统分析中的重要性和实施细节,特别是在第九章所涵盖的内容。面向对象设计是软件工程中的一种关键方法,它通过模拟真实世界中的对象和它们之间的关系来构建软件系统。 ...

    hibernate3.6 文档(pdf 格式)

    #### 八、关联映射 - **单向关联**:讨论单向关联的实现,包括多对一、一对一和一对多关系。 - **单向关联与连接表**:介绍如何使用连接表来映射一对多和多对一关系。 - **双向关联**:探讨双向关联的实现方法,包括...

    Visual C++范例大全第二章,全部代码一个一个发,一个一分

    本资源,"Visual C++范例大全第二章,全部代码一个一个发,一个一分",显然是一个教程或参考材料,专注于第二章的主题——"消息映射与处理"。这部分内容对于理解Windows程序设计至关重要,因为消息机制是Windows应用...

    第9章网络服务系.pptx

    第9章主要讲述了网络服务系统,特别是DNS(Domain Name System)服务器的安装配置。DNS是互联网上用于将人类可读的域名转换成IP地址的重要服务。理解DNS的基本概念和配置对于管理和维护网络服务至关重要。 首先,...

    NHibernate in Action by Christian Bauer

    第九章开始讨论开发的流程以及一些有用的工具,通过一个NHibernate应用解释几种着手点。我们同时也研究一些领域模型及数据库关联的代码生成和自动维护模式。紧接着我们还研究了如何通过NHibernate解决传统的数据库...

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

    1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 1.3.5. 双向关联 1.3.6. 使双向连起来 1.4. 第三部分 - EventManager web应用程序 ...

    hibernate4.1中文api

    - **映射文件**: 使用`*.hbm.xml`文件来定义Java对象与数据库表之间的映射关系。 - **Hibernate配置**: 配置`hibernate.cfg.xml`文件来设置数据库连接信息、指定映射文件位置等。 - **构建与Maven**: 使用Maven作为...

    java学习hibernate

    第9节-提升性能.ppt将探讨优化Hibernate应用的技巧,如缓存机制(第一级缓存、第二级缓存)、批处理、延迟加载、懒加载等,以及如何避免N+1查询问题。 9. **拦截器和事件**: 第8节-拦截器和事件.ppt会讲解...

    EF Core 是 .NET 的新式对象数据库映射器

    4. **模型第一或代码第一**:EF Core支持模型第一(通过数据库模型创建代码)和代码第一(通过代码定义模型然后生成数据库)两种开发模式,开发者可以根据自己的习惯选择。 5. **查询语言API**:使用Linq(Language...

Global site tag (gtag.js) - Google Analytics