hibernate工作原理及流程

使用hibernate开发了几次小项目,但仍感觉对其理解的不是很到位,在这里写篇博客加深理解。

同学习struts一样,我个人认为要想熟练掌握一个框架,必先理解其原理。如果只是会用而不知其所以然,这跟照葫芦画瓢没什么区别。而且后续深入也会很吃力。

在了解原理前,先来了解下hibernate是一款什么框架,即这款框架存在的意义是什么。hibernate是一款将应用和数据库连接起来的框架,封装了许多对数据库操作的方法,作为java web开发者,可以将其视为升级版的jdbc。下面来看(自画渣图)

                                                     hibernate工作原理及流程_第1张图片

从图中可以清晰地看出hibernate在应用中的位置,其主要配置文件有两个,一个是与java bean对象对应的.hbm.xml文件和包含全局映射的hibernate.cfg.xml文件。

其中.hbm.xml文件的数量与bean对象一致,即有多每一个bean对象都对应一个.hbm.xml文件,其作用是将数据库中的实例记录与Bean属性对应起来,包括数据类型,名称等,

如:一个名为Product的java bean.其属性有id, name, price。主键为id,其在数据库中对应的表名为product


    
        
            
            
        
        
        
    
     

这样hibernate才能操作正确的对象。而hibernate.cfg.xml除了负责配置数据库连接等属性,还负责配置.hbm.xml的映射


 
    
        
        com.mysql.jdbc.Driver
        jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
        root
        123
        
        org.hibernate.dialect.MySQLDialect
        thread
        true
       
        update
        
        
        
    
 
如图配置了Product,Category和User bean对象与数据库的关系映射


你可能感兴趣的:(hibernate)