十一年前,最主流的持久化框架是1999年发出的ejb1.1,2003年ejb变得异常流行,那时候,如果说起持久化框架,不说ejb,你都不好意思说自己是在这行混的,但是ejb自身的的缺点也很明显,就是太过复杂,所以,后来慢慢的也被很多开发人员所抛弃。
01年,澳大利亚墨尔本的Gavin King,时年二十三岁,同其它人一样,也厌倦了ejb,所以他去街上买了一本sql的书,他自认为可以开发出一个符合对象关系映射理论的,并且真正好用的java持久化框架,这年十一月,发布了hibernate的第一个版本
02年,开始有越来越多的人关注hibernate
03年,团队进入JBoss,hibernate开始极速发展和普及
04年,在j2ee5.0的持久化标准制定中,已hibernate作为标准制定的蓝本
06年,在j2ee的标准发布,java持久化标准JPA,基本上参照hibernate实现
hibernate3.2以后,已经完全兼容jpa,成为了最主流的jpa框架
在这里区分两个概念
jpa:是持久化框架的标准,是一个标准 hibernate:是一个持久化框架,兼容了jpa标准,可以认为hibernate是jpa的实现,虽然有些牵强但为什么会出现持久化框架,并且hibernate如此流行呢?
先来看看jdbc,jdbc借鉴了odbc标准,使用了纯java数据库持久化接口,可以做到
1.与操作系统无关
2.与数据库无关
3.纯java编写
但是不足也很明显:
1.使用笨拙,如果字段过多,编写程序起来很麻烦,代码量很大,虽然,代码实现不太难
2.基于1的原因,所以导致程序维护比较难
3.jdbc中嵌入了结构化语句,所以,在面向对象的java中,重构很难
如果,你真正使用过hibernate,并且看到了jdbc的上述问题之后,你就会明白,为什么持久化框架如此流行,hibernate如此流行,不多说了,就到这吧