hibernate关联映射中的组件映射


*********************

Name.java

*********************

package blog.hibernate.domain;

public class Name {
	private String firstName;
	private String lastName;
	
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String fristName) {
		this.firstName = fristName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
}

******************

EnglishMan.java

*****************

package blog.hibernate.domain;

public class EnglishMan {
	private Name name;
	private int id;
	
	public Name getName() {
		return name;
	}
	public void setName(Name name) {
		this.name = name;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}	
}

****************

EnglishMan.hbm.xml

***************

<?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 package="blog.hibernate.domain">
	<class name="EnglishMan" table="EnglishMan">
		<id name="id" column="ID">
			<generator class="native"></generator>
		</id>
		
		<component name="name" class="Name">
			<property name="firstName" column="FIRSTNAME"></property>
			<property name="lastName" column="LASTNAME"></property>
		</component>
	</class>
</hibernate-mapping>


****************

junit test

***************

package junit.test;


import org.junit.BeforeClass;
import org.junit.Test;

import blog.hibernate.HibernateUtil;
import blog.hibernate.domain.EnglishMan;
import blog.hibernate.domain.Name;

public class MyComponent {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}
	
	@Test
	public void add(){
		Name name = new Name();
		name.setFirstName("Wang");
		name.setLastName("li");
		
		EnglishMan englishMan = new EnglishMan();
		englishMan.setName(name);
		
		try {
			HibernateUtil.add(englishMan);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

说明:组件映射可以将组件和主对像放在一个表里。


posted @ 2012-08-21 10:05  xzf007  阅读(132)  评论(0编辑  收藏  举报