首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate多对多的投射

2012-09-03 
Hibernate多对多的映射这是以前学Hibernate多对多的时候写的代码!这里介绍了2种不同方式的多对多的映射!例

Hibernate多对多的映射
这是以前学Hibernate多对多的时候写的代码!这里介绍了2种不同方式的多对多的映射!例子以Emploree和Project为目标!其中一种配置为

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--     Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping>    <class name="com.softceo.hibernate.dto.Project" table="PROJECT" schema="SCOTT">        <id name="proid" type="java.lang.Integer">            <column name="PROID" precision="22" scale="0" />            <generator />        </id>        <property name="proname" type="java.lang.String">            <column name="PRONAME" length="20" not-null="true" />        </property>        <property name="prodescription" type="java.lang.String">            <column name="PRODESCRIPTION" length="200" not-null="true" />        </property>        <set name="emplorees" table="R_TMP_PROJ" schema="SCOTT" cascade="save-update">            <key>                <column name="R_PROJ_ID" precision="22" scale="0" not-null="true" />            </key>            <many-to-many entity-name="com.softceo.hibernate.dto.Emploree">                <column name="R_EMP_ID" precision="22" scale="0" not-null="true" />            </many-to-many>        </set>    </class></hibernate-mapping>

另外一种配置为:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--     Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping>    <class name="com.softceo.hibernate.dto.Project" table="PROJECT" schema="SCOTT">        <id name="proid" type="java.math.BigDecimal">            <column name="PROID" precision="22" scale="0" />            <generator />        </id>        <property name="proname" type="java.lang.String">            <column name="PRONAME" length="20" not-null="true" />        </property>        <property name="prodescription" type="java.lang.String">            <column name="PRODESCRIPTION" length="200" not-null="true" />        </property>        <set name="RTmpProjs" inverse="true" cascade="save-update">            <key>                <column name="R_PROJ_ID" precision="22" scale="0" not-null="true" />            </key>            <one-to-many />        </set>    </class></hibernate-mapping>

这种配置是多加了一个新的实体映射:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--     Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping>    <class name="com.softceo.hibernate.dto.RTmpProj" table="R_TMP_PROJ" schema="SCOTT">        <composite-id>            <key-many-to-one name="emploree" precision="22" scale="0" />            </key-many-to-one>            <key-many-to-one name="project" precision="22" scale="0" />            </key-many-to-one>        </composite-id>    </class></hibernate-mapping>

具体代码见附件!

热点排行