单向N:1有中间表映射

其实在在部分时间是不需要进行有中间表的映射的,感觉显得很多余,但是hibernate也支持这样的操作,具体的单向N:1无中间表映射请参考http://www.cnblogs.com/yudy/archive/2012/11/03/2752198.html,其实这个和之前的差别主要是配置文件的差别,还有hibernate在数据库实现的时候增加了一个关联表。

现在只把有变化的部分贴出来。

<?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>
    <class name="com.longtech.hibernate.domain.Employee"
        table="Employee"> 
        <id name="id" column="id" type="java.lang.Long" >
            <meta attribute="field-description">唯一标识</meta>
            <generator class="native"/>
        </id>
        <property name="name" type="java.lang.String" column="name" length="20">
            <meta attribute="field-description">员工名称</meta>
        </property>
        <!-- <many-to-one name="department" column="dept_id" cascade="all"></many-to-one> -->
        <join table="employ_depart">
            <key column="empid"></key>
            <many-to-one name="department" cascade="all" column="deptid"></many-to-one>
        </join>
    </class>
</hibernate-mapping>

变化的部分就是增加了一个join标签,使用join的时候通常会指定一个中间表。

在数据库层次,它会多出一个中间表

完整文字empiddeptid
编辑 删除 1 1
posted @ 2012-11-03 10:04  yanglover  阅读(474)  评论(0编辑  收藏  举报