hibernate
iteye_6287
这个作者很懒,什么都没留下…
展开
-
Hibernate中对象三种状态的区别
都知道 Hibernate的对象 有transient,persistence,detached三种状态 下面我来说说这三种状态的区别 transient *数据库中没有与之对应的数据 *没有纳入Session的管理,也就是在没有被Session缓存 Persistence *在数据库中有与之对应的数据 *...2008-11-16 10:51:39 · 185 阅读 · 0 评论 -
Session.flush()的一个用法
别的先不说 先来上代码 [code="java"] public void testSaveUser(){ Session session=null; Transaction tx=null; try{ session=HibernateUtil.getSession(); tx=session.b...2008-11-16 19:55:39 · 1279 阅读 · 0 评论 -
关于一对多双向映射
一对多双向映射 一对多双向关联 *在一的一端使用 在对方的表中中加入一个外键指向一的一端 *在多的一端使用 *注意和指定的外键名一定要相同则会出现错误 如果在一的一端维护关联关系 在save对象的时候会添加多余的update语句 所以我们一般用inverse将关系反转 在多的一端维护关联关系。 关于inverse属性: invers...2008-11-17 10:43:53 · 133 阅读 · 0 评论 -
Hibernate的lazy策略
hibernate Lazy策略可以使用在: 标签上,可以true/false 标签上可以取值true/false 需要类增强工具 标签上 可以取值 true/false/extra 单端关联上 可以取值 false/proxy/noproxy lazy概念: 只有真正需要对象的时候才会创建对象,对于hibernate而言,只有真正要使用的...2008-11-17 19:50:19 · 71 阅读 · 0 评论 -
悲观锁和乐观锁
悲观锁的实现 :悲观锁依赖于数据库机制,在整个过程中将数据锁定,其他任何人都不能读取或修改 乐观锁: 大多数基于数据版本记录机制(Version)的实现,一般是在数据库表中加入一个version字段,还有时间戳等机制 读取数据时将版本一同读出,之后更新数据时版本号加1,如果提交数据时版本号小于或者等于数据库中的版本号 则认为数据是过期的否则给予更新 ...2008-11-18 16:49:27 · 86 阅读 · 0 评论 -
Hibernate的一级缓存
Hibernate一级缓存: (1) 一级缓存很短和session的生命周期一致,一级缓存又叫session级缓存或者 事务级缓存 (2) 支持一级缓存的方法: get(); load(); iterator();只缓存实体对象 (3) 如何管理一级缓...2008-11-19 12:43:50 · 91 阅读 · 0 评论 -
Hibernate的二级缓存
Hibernate二级缓存: 二级缓存也称位进程级缓存或者sessionFactory级缓存,二级缓存可以被所有的session共享 二级缓存的配置和使用: *将echcache.xml(这个文件在hibernate代码包中的etc 目录下)拷贝到src目录下 *开启二级缓存 修改hibernate.cfg.xml文件 true...2008-11-19 16:52:57 · 75 阅读 · 0 评论 -
Hibernate的抓取策略
Hibernate抓取策略(单端代理的抓取策略): 保持默认 也就是如下: fetch="select" 就是另外发送一条select语句抓取当前对象关联实体或者集合 设置fetch="join" Hibernate会通过select语句使用外连接来加载器关联实体活集合 此时lazy会失效 Hibernate抓取策略(集合代...2008-11-19 21:20:18 · 79 阅读 · 0 评论