Hibernate常见表关系

本文记录Java学习过程中遇到的Hibernate常见表关系~

Hibernate框架实现了ORM思想,将关系数据库中表的数据映射成对象,是开发人员把对数据库的操作转化为对对象的操作。

数据库中表之间存在着三种关系,也就是系统设计中的三种实体关系,即一对一、一对多和多对多。

三种关系的建表原则分别如下:

  • 一对一:1)唯一外键对应:假设任意一方为多,在多的一方创建外键指向一的一方的主键,然后将外键设置为唯一;2)主键对应:一方的主键作为另一方的主键;
  • 一对多:在多的一方创建外键指向一的一方的主键;
  • 多对多:创建一个中间表,中间表中至少两个字段作为外键分别指向两个多方的主键。

数据库表能够描述实体数据之间的关系,通过对象也可以进行描述,示例代码如下:

//一对一
class A {
	B b;
}
class B {
	A a;
}

//一对多
class A {
	Set<B> bs;
}
class B {
	A a;
}

//多对多
class A {
	Set<B> bs;
}
class B {
	Set<A> as;
}

标签: none