对hibernate的五条理解
???? 1、hibernate是三大框架之一,是直接对数据库进行操作的,它的的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。hibernate其实就是为了在关机和内存不够用的情况下,保持程序的运行状态,需要将内存中的对象状态保存到持久化设备和从持久化设备恢复成对象状态,通常都要保存到关系数据库来保存大量的对象信息,从java程序的运行功能上来说,保存对象应该采用java中的Jdbc来实现这个功能,这个不起眼的功能要编大量的代码来实现,而做的事情只是仅仅保存对象和恢复对象,并且那些大量的Jdbc代码没有什么技术含量,基本上都是采用一套标准的模板代码来编写,是一种重复性的工作。
2、通过数据库保存java程序运行时产生的对象和使用时需要恢复的对象,其实就是实现了java对象与关系数据库记录的映射关系,称为ORM(即Object Relation Mapping),程序员可以通过封装Jdbc代码来实现这种功能,封装出来的产品称之为ORM框架,hibernate就是一种流行的ORM框架,使用hibernate框架,不用写Jdbc代码,内部已经封装好了,仅仅调用一个save()方法就能将对象保存到数据库中,用get
()或者load()方法就能从数据库中取出想要的对象。
3、使用hibernate的基本流程:配置Configuration对象,然后调用configue()来加载配置文件(配置文件在类的路径下面),然后产生SessionFactory工厂,接着调用openSession()方法打开与数据库的连接,再接着利用session中的beginTransaction()方法打开事物,完成CRUD操作,注意,提交后需要关闭session。
4、想要使用hibernate时,必须要配置hibernate.cfg.xml(文件名必须是:xxx.cfg.xml)文件,这里面主要配置连接数据库的一些信息以及方言,还有其他信息等,还需要为每个实体配置相应的xxx.hbm.xml文件,加载此配置文件时有三种方法,第一种是:addResource(参数是xxx.hbm.xml文件的路径),第二种:addClass(参数是实体类加载)第三种是在hibernate.cfg.xml中配置,在开发中第三种比较常见。
5、在应用hibernate时,重点了解Session的一级缓存,二级缓存。重点理解二级缓存的原理,还要了解级联、延迟加载,hql语句。