四. Hibernate的关联映射(B)

1.多对多的Java表达

1.使用集合对象表达多对多对象

推荐使用Set

public class EmployeeModel {

   private Set<BehaveModel> behaves=null;

}

public class BehaveModel {

  private Set<EmployeeModel> employees=null;

}

2.多对多的DB表达

通过关联表,字段分别来自关联的表的主键。

每个字段都是外键,2个字段联合作主键。

– 员工爱好关联表

create table oa_employeebehave
(
    EMPID varchar(20) references OA_Employee(EMPID),
    BNO int(10) references oa_Behave(BNO),
    primary key (EMPID,BNO)
);

3.多对多的Hibernate映射

1.XML方式:

<!-- 多对多 -->
<set name="behaves" table="oa_employeebehave">
        <key column="EMPID" />
        <many-to-many class="BehaveModel" column="BNO" />
</set>

 <!-- 多对多 -->
 <set name="employees" table="oa_employeebehave">
        <key column="BNO" />
        <many-to-many class="EmployeeModel" column="EMPID" />
 </set>
  1. Java Annotation方式实现多对多映射
@ManyToMany
@JoinTable(name="oa_employeebehave",
    joinColumns =@JoinColumn(name="EMPID"),
    inverseJoinColumns=@JoinColumn(name="BNO")
)
private Set<BehaveModel> behaves=null;

4.一对一的Java表达

class A {

   private B b=null;

}

class B {

    private A a=null; 

}

5.一对一的数据库表达

(1)PK做FK。

(2) 专门FK指向PK,FK要求唯一性。

6.一对一的Hibernate映射

(1)XML方式映射语法

(2)Java注释方式映射语法

根据老师课堂笔记整理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值