hibernate学习要点指引

最近几天,团队有几个人在blog上开始贴自己学习hibernate的一些代码和心得了。昨天帮他们调试代码的时候,才对他们最近的学习过程有一个了解。回想两年多前,自己开始hibernate学习的过程,贴点东西在这里。

hibernate是O/RM框架,ORM简单的说就是对象关系映射,用于处理对象与表的对应关系的。更多关于O/RM的基本概念,请见:http://www.cnblogs.com/idior/archive/2005/07/04/186086.html

不懂技术的人或者技术新手往往容易被“框架”二字所唬住,所谓框架是前人对相关问题处理方案的总结,将对某类问题最有价值的解决方式汇集在一起,形成框架。其它人使用时,仅仅只需要按照框架缔结者设定的规则以及调用的API,来完成对框架的使用。

学习hibernate,学习的主要是hibernate的使用规则,理解这个框架的思想。

1、Configuration、SessionFactory、Session三个类一个都不能少,通通都需要了解。所谓了解,其实是夸大了,不少人仅仅只是使用这三个类最简单的创建过程代码,但这已经足够应付绝大多数场景了。无论你使用的时hibernate.properties,还是hibernate.cfg.xml,抑或者你自定义了一个配置文件,确保自己配置的正确性。

2、必须学习hbm.xml文件的编写规则。新手可以依靠一些自动生成工具来完成对hbm.xml以及java文件的生成,但上手便这样,不利于学习。工具虽然方便,但是掩盖了生成时所应该知道的基本原理。

3、hibernate的三种查询方式:HQL、Criteria、Native SQL。每种技术有其应用的优势场景,技术不分优劣,只有最适合当前场景使用的。HQL是使用最频繁的,Criteria是完全OO的,当你需要使用特定数据库的特性时,Native SQL是首选。

4、关联关系。数据库中的多表关联本是平常事,但这个问题又恰恰是最容易让人晕头转向的地方。hibernate处理关联关系的精髓内容在hbm.xml中,学习时(1)注意关联行为的主被动方(2)弄清关联的对象所依据的字段。

5、优化。Hibernate在封装现有JDBC操作的同时,对数据库操作进行了默认的一些优化。而通过延迟加载与批量操作等相关参数设置,我们可以进一步对数据库操作的性能进行优化。

 

 

你可能感兴趣的:(sql,框架,Hibernate,xml,OO)