关于hibernate组件配置

建立关系数据模型的一个重要原则是在不会导致数据冗余的前提下,尽可能减少数据库表的数目及表之间的外键参照关系。以员工信息为例,员工信息中有员工的家庭地址信息,如果把地址信息单独放在一张表中,然后建立员工信息表和地址信息表之间的外键参照关系,当每次查询员工信息时,都需建立者两个表的连接。建立表的连接是很耗时的操作,为了提高数据库运行性能,可以把这两张表的信息整合在一张员工信息表EMPINFO中。

创建EmpHomeAddressEmpInfo

public class EmpHomeAddress {

private String ehomestreet;

private String ehomecity;

private String ehomeprovince;

private String ehomezipcode;

private EmpInfo empinfo;

}

EmpInfo创建如下:

public class EmpInfo {

private Integer eid;

private String ename;

private EmpHomeAddress ehome;

}

创建配置文件EmpInfo.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC 

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.happy.component">

   <class name="EmpInfo" table="EMPINFO">

       <id name="eid" column="EID">

        <generator class="native"></generator>

       </id>

       <property name="ename" column="ENAME" type="string"></property>

       <component name="ehome" class="EmpHomeAddress">

          <parent name="empinfo"/>

          <property name="ehomestreet" column="EHOMESTREET" type="string"></property>

          <property name="ehomecity" column="EHOMECITY" type="string"></property>

          <property name="ehomeprovince" column="EHOMEPROVINCE" type="string"></property>

          <property name="ehomezipcode" column="EHOMEZIPCODE" type="string"></property>

       </component>

   </class> 

</hibernate-mapping>

最后便是测试

原文地址:https://www.cnblogs.com/wyd12138/p/6372052.html