*********************
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();
}
}
}
说明:组件映射可以将组件和主对像放在一个表里。