hibernate component的施用
hibernate component的使用
第一次看到component这样使用。所以记下来。只记类与hbm文件,别的和hibernate别的一样
Address.java类如下:
package cn.ehoo.hibernate.domain; /** *@author whp *@Email whp@ehoo.cn *@Nov 30, 2011 * */ public class Address { private String province; private String city; private String street; private String zipcode; public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getZipcode() { return zipcode; } public void setZipcode(String zipcode) { this.zipcode = zipcode; } }
Customer.java类如下:
package cn.ehoo.hibernate.domain; /** *@author whp *@Email whp@ehoo.cn *@Nov 30, 2011 * */ public class Customer { private Integer id; private String name; private Address homeAddress; private Address comAddress; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Address getHomeAddress() { return homeAddress; } public void setHomeAddress(Address homeAddress) { this.homeAddress = homeAddress; } public Address getComAddress() { return comAddress; } public void setComAddress(Address comAddress) { this.comAddress = comAddress; } }
Customer.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="cn.ehoo.hibernate.domain"> <class name="Customer" table="customer"> <id name="id" type="int"> <generator class="native" /> </id> <property name="name" /> <component name="homeAddress" class="cn.ehoo.hibernate.domain.Address"> <property name="province" type="string" column="HOME_PROVINCE"/> <property name="city" type="string" column="HOME_CITY"/> <property name="street" type="string" column="HOME_STREET"/> </component> <component name="comAddress" class="cn.ehoo.hibernate.domain.Address"> <property name="province" type="string" column="COM_PROVINCE"/> <property name="city" type="string" column="COM_CITY"/> <property name="street" type="string" column="COM_STREET"/> </component> </class> </hibernate-mapping>