首页 > 代码库 > hibernate通过xml配置文件实现表与实体的映射

hibernate通过xml配置文件实现表与实体的映射

这里讨论的是一对多的关系

在做公交卡系统,会涉及到两张表,忽略两种表的作用,只关心他们之间的关系 : 卡规格表和卡类表,一种卡规格会对应多个卡类

实体类:

/*** 卡类型表的实体*/public class Acardtype  implements java.io.Serializable {                   private Long id;        private Cardstandard cardstandard;   //卡规格表外键     .........
/***卡规格表实体*/public class Cardstandard  implements java.io.Serializable {     private Long id;     private Set acardtypes = new HashSet( );    //此集合用来存卡类型
....

xml映射:

 <-- 卡类型的xml映射 --><hibernate-mapping>    <class name="com.foorich.entity.oracle.Acardtype" table="ACARDTYPE" schema="FOORICH_CARD">        <id name="id" type="java.lang.Long">            <column name="ID" />            <generator class="increment"></generator>   <-- 主键 -->        </id>            <-- 映射关系属性,          many-to-one:卡类型是多的一方,卡规格是一的一方           fetch:查询时忽略懒加载          column:指名卡类型表的外键名称    -->         <many-to-one name="cardstandard" class="com.foorich.entity.oracle.Cardstandard" fetch="select">            <column name="CARDSTANDARDID" />        </many-to-one>
  </class>
<hibernate-mapping>
<-- 卡规格表的映射文件 --><hibernate-mapping>    <class name="com.foorich.entity.oracle.Cardstandard" table="CARDSTANDARD" schema="FOORICH_CARD">        <id name="id" type="java.lang.Long">            <column name="ID" />            <generator class="increment" />        </id>          <-- 集合映射      inverse:可以通过卡规格表找到卡类型表      key:告知,卡类型表中的外键      one-to-many: 告知它的关系表是卡类型表   -->        <set name="acardtypes" inverse="true">            <key>                <column name="CARDSTANDARDID" />            </key>            <one-to-many class="com.foorich.entity.oracle.Acardtype" />        </set>    </class></hibernate-mapping>

 

hibernate通过xml配置文件实现表与实体的映射