第一章 理解对象/关系持久化
针对持久化的ORM解决方案
Hibernate 是一种开源的ORM服务实现
旨在成为java中管理持久化数据问题的一种完整解决方案。它调解应用程序和关系数据库的交互,把开发人员解放出来。
无干扰的解决方案,即可以顺利和现有应用程序整合。
1.1什么是持久化
java中的持久化,一般指利用SQL在关系数据库中存储数据
ORM双方:关系数据库和java对象
范式不匹配中的范式:对象模型和关系模型,或面向对象编程和SQL
几乎所有Java应用程序都混合了持久对象和瞬时对象
关系数据库为持久化数据提供了一个结构化的表示法
数据库管理系统管理并发性和数据完整性;负责共享数据;提供数据级的安全性
1.2范式不匹配
粒度问题
子类型问题:SQL数据库产品一般不实现类型或表继承,缺乏明显表示多态关联的方式。
同一性问题
java对象定义两个不同的同一性(对象同一性,等同性)
数据库行同一性(主键)
而几个不恒等的对象表示数据库的同一行很常见????
与关联相关的问题
面向对象语言使用对象引用表示关联;关系领域,关联被表示为外键列,带有几个键值的复本。对象引用具有固有的方向性;外键关联不是生来就有方向性。java关联可以多对多,而表关联始终是一对多或者一对一。
到第12页
针对持久化的ORM解决方案
Hibernate 是一种开源的ORM服务实现
旨在成为java中管理持久化数据问题的一种完整解决方案。它调解应用程序和关系数据库的交互,把开发人员解放出来。
无干扰的解决方案,即可以顺利和现有应用程序整合。
1.1什么是持久化
java中的持久化,一般指利用SQL在关系数据库中存储数据
ORM双方:关系数据库和java对象
范式不匹配中的范式:对象模型和关系模型,或面向对象编程和SQL
几乎所有Java应用程序都混合了持久对象和瞬时对象
关系数据库为持久化数据提供了一个结构化的表示法
数据库管理系统管理并发性和数据完整性;负责共享数据;提供数据级的安全性
1.2范式不匹配
粒度问题
子类型问题:SQL数据库产品一般不实现类型或表继承,缺乏明显表示多态关联的方式。
同一性问题
java对象定义两个不同的同一性(对象同一性,等同性)
数据库行同一性(主键)
而几个不恒等的对象表示数据库的同一行很常见????
与关联相关的问题
面向对象语言使用对象引用表示关联;关系领域,关联被表示为外键列,带有几个键值的复本。对象引用具有固有的方向性;外键关联不是生来就有方向性。java关联可以多对多,而表关联始终是一对多或者一对一。
到第12页