`
Silmon
  • 浏览: 54563 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Hibernate组件映射

阅读更多

一.粒度划分

 

person表

create table person(
id varchar(32) primary key,
address varchar(40),
postcode int,
firstname varchar(10),
lastname varchar(10)
)

 然后分成了两个对象Info 和Name

package component;

public class Info {

	private String address;
	private int postcode;

	

	public String getAddress() {
		return address;
	}

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

	public int getPostcode() {
		return postcode;
	}

	public void setPostcode(int postcode) {
		this.postcode = postcode;
	}
}


package component;

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;
	}
}


package component;

public class Person {
	private String id;
	private Info info;
	private Name name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public Info getInfo() {
		return info;
	}
	public void setInfo(Info info) {
		this.info = info;
	}
	public Name getName() {
		return name;
	}
	public void setName(Name name) {
		this.name = name;
	}

}

 

映射文件

		<component name="name" class="component.Name">
			<property name="firstname" type="java.lang.String">
				<column name="firstname" length="10" />
			</property>
			<property name="lastname" type="java.lang.String">
				<column name="lastname" length="10" />
			</property>

		</component>
		<component name="info" class="component.Info">
			<property name="address" type="java.lang.String">
				<column name="address" length="40" />
			</property>
			<property name="postcode" type="java.lang.Integer">
				<column name="postcode" />
			</property>
		</component>

 测试

package component;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import config.HibernateSessionFactory;

public class Test {
	public void insert() {
		Person person = new Person();
		Name name = new Name();
		Info info = new Info();
		name.setFirstname("CSDN");
		name.setLastname("Simon");
		info.setAddress("China");
		info.setPostcode(450000);
		Session session = HibernateSessionFactory.getSession();
		session.beginTransaction();
		person.setInfo(info);
		person.setName(name);
		session.save(person);
		session.beginTransaction().commit();
		session.close();
	}

	public void sel() {

		Session session = HibernateSessionFactory.getSession();
		Query query = session.createQuery("from Person");
		List list = query.list();
		Person person = (Person) list.get(0);
		System.out.println(person.getName().getFirstname()
				+ person.getName().getLastname());
	}

	public static void main(String[] args) {
		new Test().sel();
	}

}

 

二.复合主键

待续。。。。

分享到:
评论
1 楼 only_java 2009-11-13  
不错

相关推荐

    hibernate组件映射

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

    Hibernate组件映射(annotation/xml)

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

    Hibernate组件映射代码详解

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

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

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

    component(组件映射)

    由于无法直接访问链接,以下将根据常见的Hibernate组件映射实践来阐述相关知识点。 1. **定义组件**:在Hibernate中,组件通常是一个无标识的类,它不对应数据库中的单独记录,而是作为其他有标识实体的一部分。...

    Spring+Hibernate 自动映射

    1. **依赖注入(Dependency Injection,DI)**:Spring通过XML配置或注解方式,将Hibernate的相关组件如SessionFactory、Session等注入到需要使用它们的类中,避免了手动创建和管理这些对象。 2. **事务管理...

    hibernate组件之间的关联

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

    Hibernate_code

    5. **Hibernate_Component**:这部分可能包含了Hibernate组件映射的示例。组件是对象的一部分,可以被嵌入到其他对象中,类似于数据库中的复合类型。通过@Component或@Embeddable注解,可以将一个类声明为组件,并在...

    hibernate组建映射代码

    在实际应用中,我们还需要创建一个SessionFactory,它是Hibernate的核心组件,通过它来获取Session实例,进而进行CRUD操作。SessionFactory的创建通常在应用启动时完成,例如: ```java Configuration config = new...

    hibernate的映射文件配置

    接下来,我们将深入探讨映射文件的基本结构和核心组件配置。 #### 映射文件基本结构 映射文件的基本结构包含以下关键元素: ```xml &lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD ...

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

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

    Hibernate教程17_继承映射

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

    Hibernate继承映射

    【Hibernate继承映射】是Java开发中...以上就是关于Hibernate继承映射、一对一关系、组件映射以及HQL的基础知识,这些概念和实践技巧在Java企业级开发中非常常见,熟练掌握能有效提高数据操作的效率和代码的可维护性。

    hibernate映射Oracle中LONG类型

    同时,自定义类型也需要与 Hibernate 框架的其他组件集成,例如数据类型转换、SQL 语句生成等。 使用自定义类型映射 Oracle 中的 LONG 类型字段是解决 Hibernate 框架中 LONG 类型字段读写问题的一种有效方法。通过...

    hibernate中的相关组件的介绍

    ### Hibernate中的相关组件介绍 #### 一、Hibernate配置文件(`hibernate.cfg.xml`) 在Hibernate框架中,默认的配置文件被命名为`hibernate.cfg.xml`。此配置文件是Hibernate初始化过程中的关键组成部分,它定义...

    springmvc+hibernate多表映射

    在IT行业中,SpringMVC和Hibernate是两个非常重要的框架,它们分别是用于构建Web应用程序和对象关系映射(ORM)的工具。在这个“springmvc+hibernate多表映射”的主题中,我们将深入探讨如何在SpringMVC项目中集成...

    hibernate对象关系映射实例

    Hibernate的核心组件包括配置文件、实体类、映射文件以及SessionFactory和Session接口。 1. **配置文件**:通常为`hibernate.cfg.xml`,用来配置数据库连接信息,如JDBC驱动、URL、用户名和密码等。 2. **实体类**...

    深入理解hibernate映射文件

    ### 深入理解Hibernate...总之,Hibernate映射文件是实现对象关系映射的核心组件之一,通过对映射文件的合理配置,可以高效地完成Java对象与数据库表之间的映射,从而简化数据库操作并提高代码的可维护性和可扩展性。

Global site tag (gtag.js) - Google Analytics