Hibernate为以上所列的机制分别创建了一个缺省的实现,因此如果你只是要增强它的某个策略的功能的话,只需简单地继承这个类就可以了,没有必要从头开始写代码。
Hibernate运行在两种环境下:可管理环境和不可管理环境
1、可管理环境:这种环境可管理如下资源:池资源管理,诸如连接池和,还有事务管理、安全定义。一些典型的J2EE服务器(JBoss、Weblogic、WebSphere)已经实现了这些。
2、不可管理环境:只是提供了一些基本的功能,诸如像Jetty或Tomcat这样的servlet容器环境。
Hibernate的优缺点:
优点:
Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的访问代码,DAO接口的实现类,甚至可以是BMP里面的访问的代码。
Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和都有一定的关系,但是和使用它的Java程序,和AppServer没有任何关系,也不存在兼容性问题。
Hibernate不能用来直接和EntityBean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是EntityBean的替代者出现的,
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵。hibernate工作原理
Hibernate可以应用在任何使用JDBC的场合。
Hibernate使用Java反射机制而不是字节码增强程序来实现透明性。
Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。
它支持各种关系,从到多对多的各种复杂关系。
缺点:
它限制您所使用的对象模型。(例如,一个持久性类不能映射到多个表)。
让我再列一次我已经列n次的框架结构:
传统的架构:1、SessionBeanEntityBeanDB
为了解决性能障碍的替代架构:2、SessionBeanDAOJDBCDB
使用Hibernate来提高上面架构的开发效率的架构:3、SessionBeanDAOHibernateDB
以上就是e良师益友为大家详细讲解的三大框架中Hibernate的原理及其优缺点!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25140-2.html
大家想想在中国有几个做生意的敢像他这样说话的