Hibernate的三种映射关系(笔记)

 

Object中的表现形式

一对多与多对一

Department                                Employee

    long id                                         long id

    String name                                   String name

    set<Employee> employees                       Department department

 

多对多

Employee                                  Role                                                                            

    long id                                       long id

    String name                                   String name

    Set<Role> roles                           Set<Employee> employee

 

一对一

Employee                                  User

    long id                                       long id

    String name                                   String name

    User user                                 Employee employee

 

   

Relation中的表现形式

table_department                         

    id

    name

 

table_employee

    id

    name

    departmentId

    userId

 

table_employee_role

    employeeId

    roleId

 

table_role

    id

    name

 

table_user

    id

    name

 

 

Mapping中的表现形式

 

Department.hbm.xml

    <id name="id">

            <generator class="native"/>

    </id>

    <property name="name"></property>

    <set name="employees">

        <key column="departmentId"></key>

        <one-to-many class="Employee"/>

    </set>

 

Employee.hbm.xml

    <id name="id">

       <generator class="native"/>

    </id>

    <property name="name"></property>

    <many-to-one name="department" class="Department" column="departmentId"></many-to-one>

    <set name="roles" table="table_employee_role">

       <key column="employeeId"/>

       <many-to-many class="Role" column="roleId"/>

    </set>

    <one-to-one name="user"/>

 

Roles.hbm.xml

    <id name="id">

       <generator class="native"/>

    </id>

    <property name="name"></property>

    <set name="employees" table="itcast_employee_role">

       <key column="roleId"/>

       <many-to-many class="Employee" column="employeeId"/>

    </set>

 

User.hbm.xml

    <id name="id">

       <generator class="foreign">

           <param name="property">employee</param>

       </generator>

    </id>

    <property name="name"></property>

    <one-to-one name="employee" constrained="true"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值