四. Hibernate的关联映射(A)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LY121600HACKER/article/details/80206339

1.Java对象的关系类型

1).依赖关系

表达的意义:使用

Java表达:

(1)方法中使用

(2)方法参数中使用

class B {}

class A{

  public B create(){
     return new B();
  }  

}

2).继承关系

表达意义:是的关系。

Java表达:

class A extends B {

}

3).实现关系

表达意义:遵守

Java表达:

class A implments B {
}

4.关联关系

表达的意义:拥有

关联的特性:

(1)方向性:单向, 双向

(2)数量性:单个,多个(固定,可变)

Java表达:

(1)

class A {
          private B[] bs=new B[5]; 
      }

(2)

class A {
          private Set<B> bs=null; 
      }

class B {
    private A a=null;

}

(3)

class B {
    private Set<A> as=null;

}

5.聚合

表达意义:组成关系

Java表达:与关联一样

6.组合

表达的意义:组成关系

Java表达:与关联一样

2.关联关系的关系模型表达

1.多对一,一对多:

FK->PK

2.一对一:

PK->PK

FK(唯一)->PK

3.多对多:

设置关联表:2个关联表的PK联合作主键。

每个做外键,分别指向关联表的主键。

3.Hibernate关联映射(多对一)

1.XML方式

<many-to-one name="" class="" column="FK" />

案例:

<many-to-one name="department" class="DepartmentModel" column="DEPTNO"  />

2.Annotation方式

@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "DEPTNO")

4.Hibernate关联映射(一对多)

1.XML方式

2.Annotation方式

@OneToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "pid")

根据老师课堂笔记整理

猜你喜欢

转载自blog.csdn.net/LY121600HACKER/article/details/80206339
今日推荐