软件开发的分层思想: 三层架构:
一、 对象持久化的理论 1.对象持久化:内存中的对象转存到外部持久设备上,在需要的时候还可以恢复。 2.对象持久化的原因(目标): 物理: 1) 内存不能持久,需要在硬盘上持久保存 //(物理上,物理的都不是根本原因) 2) 内存容量有限,需要在容量更大的硬盘上保存 应用: 3) 共享(Internet的本质:信息的收集、整理、发布) //最重要的原因 4) 检索(大规模) //也很重要 5) 管理(备份、安全) 3.怎样进行对象持久化?(仅从JAVA方面讲) 物理: 1) 对象序列化 2) DB技术(JDBC 数据库) 4.怎样利用数据库做对象持久化? 1) JDBC 优点:功能完备、理论上效率高 缺点:复杂(难)、代码量大、面向R(过程;二维表关系) 2) EJB 仅讲Entity Bean 优点:封装JDBC 缺点:更复杂的API、重量级(侵入式)、功能不完备、难共享 缺点的后果:开发周期长、测试困难、面向过程 以上是 2.0之前的版本,但 3.0跟Hibernate基本一样 3) ORM 轻量级框架(Hibernate) 现阶段最佳的持久化工具:文档齐全、服务很好、工业标准、大量应用、易学 优点:封装JBDC、简单的API、轻量级(只做持久化)(用类库)、PO(持久对象)->POJO(纯JAVA)、开源 缺点:不够JDBC灵活 5.结论: 1)对象持久化是必须的 2)必须使用DB来实现 3)Hibernate必须的(现阶段最佳选择) 开源工具的通常问题:1.文档不全;2.服务不全;3.标准化不够 而Hibernate避免了所有这些问题 二、 ORM和Hibernate的相关知识(理解) 1) ORM:Object Relational Mapping 对象-关系映射实现了面向对象世界中对象到关系数据库中的表的自动的(和透明的)持久化,使用元数据(meta data)描述对象与数据库间的映射。 2) Hibernate是非常优秀、成熟的O/R Mapping框架。它提供了强大的对象和关系数据库映射以及查询功能。 规范: 1.一个映射文件对应一个持久类(一一对应) 2.映射文件的名字和它所描述的持久类的名字保持一致 3.映射文件应该与它所描述的类在同一包中 po -> (pojo) -> oid(唯一,中性) -> getters/setters -> 构造方法 |
Hibernate学习笔记(1)
最新推荐文章于 2024-11-03 10:06:51 发布