Hibernate学习
文章平均质量分 71
一个吸血的青年
这个作者很懒,什么都没留下…
展开
-
Hibernate应用(一):第一个Hibernate应用程序
听说Hibernate已经很久了,但是直到最近才开始和它近距离的接触。很早之前在湘计就看到过一份培训的PPT,里面说到Hibernate应用于持久层,并且Hibernate和持久化似乎形影相随,总是成双成对的出现。那么Hibernate到底是做什么用的,它有什么优点呢?关于Hibernate的一些概念诸如ORM、持久化就不赘述了,我们直接开始构建我们的一个Hibernate应用(通常我们的应用都是原创 2007-08-01 20:49:00 · 2563 阅读 · 1 评论 -
Hibernate学习(二):heibernate核心接口
Hibernate是一种对JDBC做了轻量级封装的对象---关系映射工具,所谓轻量级封装,是指Hibernate并没有完全封装JDBC,Java应用即可以通过Hibernate API访问数据库,还可以绕过Hibernate API,直接通过JDBC API来访问数据库。原创 2007-08-03 20:35:00 · 2870 阅读 · 4 评论 -
Hibernate学习(三):Session的缓存及对象的状态
对于session这个接口的学习可以说是最痛苦也是最复杂的,因为它所涉及的方面太多了,一些隐藏的机制也很多,谁让它是Central API呢。对于它的几个最基本的方法如save()、delete()、flush()等的学习都花了我一定的时间。在深入了解这些这些方法前,了解session的缓存机制以及Hibernate中Java对象的状态对我们是很有帮助的。一.Session的缓存Java是原创 2007-08-10 15:35:00 · 2152 阅读 · 2 评论 -
Hibernate学习(四):session.save()
一切的一切都要从数据的插入开始,没有数据的插入就没有数据来进行更新、删除和修改。在Hibernate中使用最频繁的用来插入数据的方法就是save()方法了。在Hibernate的官方API中对save方法的注释很简单:将指定的临时对象持久化,并首先指定一个标识符,也就是我们所说的OID,但是如果OID的生成策略是assigned的时候除外。注释虽然很简单,但是却向我们披露了足够的信息。我们从输原创 2007-08-11 11:37:00 · 2655 阅读 · 0 评论 -
Hibernate学习(五):session.update
关于Session接口的update方法主要有如下几点要注意:1.输入参数一般而言,传递给update的对象要是处于游离状态的对象。如果传一个持久化对象,那么update方法就是多余的,因为Hibernate的脏检查机制会自动根据对象属性值的变化向数据库发送一条update语句;如果传入的对象处于临时状态,那么此时Hibernate应该会抛出异常。因为Hibernate在更新数据时会根据对原创 2007-08-11 19:53:00 · 5986 阅读 · 2 评论 -
Hibernate学习(六):session.delete以及对象状态转换图
delelte方法从某种程度上来说和update方法很类似,特别是对传入实例的要求,只要所传入实例的OID在数据库中有对应的记录即可,否则Hibaernate就会抛出异常。我们还是从对象能够处于的3个状态来一一阐述。1.传入实例是临时状态。一般来说这是不规范的操作,当然你必须要人为的给它指定OID,而且这个OID必须和数据库中的一条记录对应。2.传入实例是游离状态。前面我们说过,游离状态与原创 2007-08-17 17:49:00 · 2943 阅读 · 0 评论 -
Hibernate学习(七):session.flush与transaction.commit
以session的save方法为例来看一个简单、完整的事务流程,如下是代码片段:…………………………………………………………………………Session session = sessionFactory.openSession();Transaction tx = session.beginTransaction();session.save(customer);//之前已实例原创 2007-08-19 18:23:00 · 10747 阅读 · 6 评论 -
Hibernate学习(八):检索方式
在Hibaernate中提供了丰富的检索(查询)方式,因为项目中涉及到查询特别是复杂查询的时候基本上用的都市iBatis,所以一直都没怎么用Hibaernate自带的查询方法。总的说来Hibernate有如下集中查询方式:1.根据OID检索某条指定的记录,典型方法如session.load()和session.get();2.HQL检索方式。HQL是Hibernate Query Lang原创 2007-08-22 20:27:00 · 2357 阅读 · 0 评论