数据库发展及 Hibernate ORM 之我见 O(∩_∩)O~

来源:互联网 发布:骑行路线 知乎 编辑:程序博客网 时间:2024/06/05 11:36

    数据库发展历史:原始数据需求 比如:一个旅店要查看几天前在这里暂住过的一个旅客,可能需要手动查看以前的数据记录。
随着需求的提高要求查询的数据从效率上受到很大的限制,比如:有一个部门策划部要根据人力部的员工情况进行公司的XXX策划,策划部就得去就业部来获取员工的基本信息,有

关的员工人数等等数据。因为这样的数据存储及在需求上存在很大的关联。这样从原始的基于文件的数据库就发展为基于关系的数据库。、
     随着计算的的发展,以及数据存储的改变,逐渐出现了统一的SQL(Structured Quevy Language 结构化查询语句),出现了一些数据库工具 如:Oracle、MySql……支持着

对数据的增、删、查、改、统计等功能,关系型数据至今依然被众多的企业级开发应用,可能在不久的将来随着面向对象的发展会出现面向对象的数据库(面向对象的数据库就是

当数据存取的时候,可直接存储整个对象及于其它对象间的依赖关系可直接获取单个对象数据)。

ORM   基本发展史:个人理解O(∩_∩)O~
文件中存放中大量数据 (基于文件的数据库 FoxBase FoxPro —> 基于关系的数据库,查询数据之间的关系  关系查询关系型数据库)
随着人的进一步追求,Java程序员希望有面向对象的数据库,就在面向对象数据库不成熟之际 出现了》》》》》O/R Mapping映射中间层 (成熟工具 最常用的为Hiberante  其他

O/R工具有Oracle的TOP_link  Apache 的OBJ  sun的JDO  Apache的iBATIS)

 

O/R Mapping 技术    
Hibernate为  O/R Mapping工具   》》提供了从面相对象的访问到基于关系型数据的存储的桥梁 》》   Hibernate面向对象的方式访问数据库
1)访问数据库的操作接口 增删查改等处理功能   不用JDBC获取数据源 ,无需写SQL语句,只需调用Hibernate
2)封装事务架构 JTA
3)封装JNDI Hibernate 自动使用JNDI数据源


Hibernate核心类  
1)Configuration类  配置启动Hibernate   将config.xml配置文件提供的配置信息获取数据源等信息  加载Configraction对象 创建SessionFactory对象
2)SessionFactory初始化Hibernate 所以由hiberante提供程序与数据之间的会话 就是SessonFactory创建会话session)
3)创建Session后可对对象进行基于关系型数据的增删查改操作。
4)封装事务控制 由Hibernate使用JDBC  Hiberante提供Transcation类 管理事务  Transcation 开始一个事务 提交一个事务
5)Hibernate 提供 HQL语言  Query 和Criteria 工具  根据我们提供的HQL描述转换为SQL 语句的描述 将结果返回    》》完成数据库的操作动作

Hiberante 一个人   Hibernate一个团队   Hibernate被JBoss收购   JBoss被RedHat收购  所以Hibernate属于RedHat了 O(∩_∩)O~

 

个人理解  希望对从事Java及从事基于面向对象程序开发的小菜鸟没有所帮助。O(∩_∩)O~ 

原创粉丝点击