hibernate
文章平均质量分 75
zhangqifeng92
好动,开朗,自信
展开
-
hibernate的事务管理
Hibernate的事务管理事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改时受到用户干扰。作为一名软件设计师,必须了解事务并合理利用,以确保数据库保存正确、完整的数据。数据库向用户提供保存当前程序状态的方法,叫事务提交(commit);当事务执行过程中,使数据库忽略当前的状态并回到前面保存的状态的方法叫原创 2014-10-23 14:53:21 · 437 阅读 · 0 评论 -
hibernate 的get和load方法
这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别,其实这个在网上有很多的论述,可大多语焉不详或经不起实践的推敲,让很多初学者学的满腹疑窦,现在我给大家讲解一下: 1. 对于get方法,hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查询数据库,数据库中没有就返回null。这个相对原创 2014-10-23 14:49:31 · 448 阅读 · 0 评论 -
数据源BasicDataSource
如何配置数据源,第三方的数据源插件最常用的主要是c3p0和dbcp:以下是我配置的一个dbcp数据源的一个实例首先导入commons-dbcp2-2.0.1.jar,commons-pool2-2.2.jarpackage com.thinkgis.xxfbxt.dbconn;import java.sql.Connection;import java.sql.Prepared原创 2014-10-21 14:23:35 · 2755 阅读 · 0 评论 -
hibernate的缓存管理
Cache就是缓存,它往往是提高系统性能的最重要手段,对数据起到一个蓄水池和缓冲的作用。Cache对于大量依赖数据读取操作的系统而言尤其重要。在大并发量的情况下,如果每次程序都需要向数据库直接做查询操作,它们所带来的性能开销显而易见,频繁的网络传输、数据库磁盘的读写操作都会大大降低系统的整体性能。此时,如果能把数据在本地内存中保留一个镜像,下次访问时只需从内存中直接获取,那么显然可以带来显著的性能原创 2014-10-23 14:59:07 · 485 阅读 · 0 评论 -
hibernate的持久化对象的三种状态
大家知道,Java对象的生命周期,是从通过new语句创建开始,到不再被任何引用变量引用结束,结束后它占用的内存将被JVM垃圾回收机制收回。在Hibernate中持久化类的对象可以划分为三种状态,分别是瞬态,持久态,脱管态。 1. 瞬态(Transient),也叫临时态。处于这种状态的对象具备的特征如下:a) 不在Session的缓存中,不与任何的Se原创 2014-10-23 14:55:12 · 686 阅读 · 0 评论 -
hibernate QBC高级查询
QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口。我们看下面的示例程序:Criteria criteria=session.createCriteria(User.class);criteria.add(Expression.eq(“name”,”zx”));cr原创 2014-10-23 15:00:57 · 428 阅读 · 0 评论 -
hibernate利用关联关系查询对象
利用关联关系操纵对象数据对象之间关联关系有一对一、一对多及多对多关联关系。在数据库操作中,数据对象之间的关联关系使用JDBC处理很困难。本节讲解如何在Hibernate中处理这些对象之间的关联关系。本节使用到4个类,它们分别是Student(学生)、Card(学生证)、Group(班级)和Course(课程),它们之间的关联关系如图1-1所示。这些实体存在级联(cascade)问题。例如,当删原创 2014-10-23 14:52:12 · 1180 阅读 · 0 评论