0
点赞
收藏
分享

微信扫一扫

Hibernate-ORM的由来

通常我们使用Java面向对象技术来实现应用程序的开发,而应用程序需要的相关数据我们使用关系型数据库来保存。面向对象技术主要是通过类、属性、关联、继承等手段进行建模;数据库主要通过表、字段、索引、视图等方式进行建模。

面向对象与关系数据库建模主要存在如下的差异:

一、建模的粒度

关系数据库建模只能使用表和字段两个维度;Java提供的数据类型包括基本数据类型、枚举、集合、泛型,而且我们可以很方面的扩展数据类型,类型可以包含其他类型的实例。

二、继承的表达

关系数据库不支持继承;Java可以体现类的继承关系,特别是类与对象之间可以体现多态。

三、同一性

关系数据库通过主键来体现记录的同一性;Java的对象包括同一性和等同性,同一性指两个对象引用同一个对象,等同性则指两个对象的值相同。

四、对象关联的表达

关系数据库通过外键关联或连接表来表达关联;Java使用对象引用或对象引用的集合来体现对象的关联关系,同时引用具有方向性。

五、导航方式

关系数据库通过表连接进行导航;Java通过对象的属性进行导航。

ORM主要是解决面向对象与关系数据库如上的差异,并提供如下的建模特性:

  1. 标识符的建模
  2. 可嵌入类型的建模
  3. 关联关系的建模
  4. 值类型集合的建模
  5. 实体集合的建模
  6. 继承的建模
举报

相关推荐

0 条评论