Hibernate过了一遍,对这个持久层的框架有了基础性的了解,对框架的真正熟悉还要靠项目实战,动手运用。下面从整体上总结一下我的理解和体会。
Hibernate的实现原理很复杂,尤其是一些性能优化发面的,跟Struts框架相比,要高深很多。
总的来说hibernate涉及到的内容成块状分布,功能比较明确。在使用上比直接操纵JDBC和建立数据库的表要方便的多。
而且最重要的是hibernate框架将面向对象的思想发挥的特别好。首先从需求出发,抽出对象,然后明确对象之间的关系(关联,继承等),根据对象建立实体类,最后将对象模型直接映射成关系模型。因为hibernate封装了JDBC,所以就不存在对表(关系模型)的操作,因此在整个项目的开发过程中,增删改查工作面向的都是对象,操作的都是对象,而完全没有涉及到数据库表。
以下是对hibernate主要内容的一个总结
Hibernate中大量使用了配置文件,配置文件是对象模型到关系模型的一个桥梁,他包含了双方间的映射关系。我觉得可以说Hibernate思想不是代码写出来的,是xml配出来的。Hibernate的关键思想就是从对面模型到关系模型的映射。
关于hibernate的性能和适用性,只能说适合于大部分项目,因为也没有一个框架是合适所有软件项目的,因为封装了JDBC,所以性能上肯定不如JDBC,而且对sql的封装时候也不能满足所有的需求,所以对一般的项目都没有问题,但有特殊需求,比如大批量数据读写,有很多与数据库相关的特殊sql操作的可以选择性的使用hibernate。
平时都是先建表,再建实体类,感觉这样很对,从没想过颠倒过来是什么感觉,也没想过还有别的方式。现在接触了hibernate,感觉这种完全面向对象的思考的方式确实很牛。