JAVA菜鸟 Hibernate学习小结

来源:互联网 发布:js访问全局变量 编辑:程序博客网 时间:2024/05/20 08:01

             作为一个JAVA的初学者,在老师的带领下刚刚学习完Hibernate,在这里给大家分享一些我对Hibernate的一些理解和体会

           首先我们大家都知道Hibernate 是一个优秀的Java 持久化层解决方案,是当今主流的对象—关系映射(ORM)工具。学习Hibernate,我们应该首先了解为什么会出现Hibernate。通过前面对JDBC的学习,大家应该很清楚,JDBC无法直接面向对象,直接使用JDBC操作数据库的步骤很繁琐,开发效率低。在这种前提下,Hibernate应运而生,很快受到了广大程序员的亲睐,Hibernate也得到了快速的发展。

           学习Hibernate,首先要学会搭建环境,第一步:创建项目并导入jar包(具体步骤这里不做详细说明,不会的同学可以到网上搜索相应的教程),第二步:配置文件,创建一个文件hibernate.cfg.xml, 然后从源码包中复制代码到hibernate.cfg.xml中,然后将创建好的文件放到src下(最好放到src的util包下)。这样Hibernate的环境基本就搭建好了。

           在Hibernate的学习中,老师重点讲解了Hibernate的三种状态(瞬时态,持久态,游离态)以及三种状态之间的转换。new产生的对象时瞬时态,然后通过save或saveOrUpdate方法转换为持久态,通过delete方法可以将对象变回瞬时态。另外我们需要注意的是,session关闭之后,原有的持久态就会变成游离态,游离态通过系列方法可重新回到持久态,并在事物提交的时候和数据库同步(注:session的get  load方法可直接获得一个持久态对象)。持久态和游离态的共同点在于,都有数据表的一行与之对应,不同的是,持久态在session范围内,而游离态不在session范围内。

           Hibernate 的增、删、改、查:
             增——>session.save(type);  

             删——>session.delete(type);

                 改——>session.update(type);

             查——>session.get(Type.class,id);

           Hibernate的关联映射

          一对多和多对一关联是现在用的比较较多的。例如:图书馆中,一个类型的书籍可以包括很多不同的图书,这就是典型的一对多关系(由于关联是有方向的,一对多和多对一的单向关联是不同的,而双向的时候就一样)。

        多对多关联:图书馆中,书和学生,一本书可以被多个同学借阅,一个学生也可以借阅多本图书。

        Hibernate 查询操作

        Hibernate支持两种主要的查询方式HQL(Hibernate Query Languge,Hibernate 查询语言)查询是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念。HQL 是应用较为广泛的方式,Criteria 查询又称为“对象查询”,它用面向对象的方式将构造查询的过程做了封装。

         最后,通过Hibernate这一框架的封装,将开发人员和数据库完全的进行了隔离,几乎所有的操作都可以由Hibernate完成。

以前我们没有用到Hibernate类似的这些框架时,我们对数据库都需要做那些操作。1、  建数据库2、  建数据库表及表之间的关系3、  对数据进行增删改查的操作

        有了Hibernate之后我们都要做那些操作:1、  建立数据库2、  写实体类(没有Hibernate之前也需要自己写)3、  写对象关系映射配置文件(Mapping)

        通过回忆,能想到的暂时只有这些,如果大家还有什么疑问,可以给我留言,我会尽快给大家回复。。。。。

原创粉丝点击