- 浏览: 5198 次
- 性别:
- 来自: 北京
最新评论
文章列表
window db2数据库备份Bat脚本
- 博客分类:
- java
@echo off
REM Create by fengzhanhai on 2010.12.23 Used by backup database db2
REM ---tasks: 每天晚上24点运行
REM 计划任务命令参照格式:"C:\Program Files\IBM\SQLLIB\BIN\db2cmd.exe" "F:\db2-backup-bbs\script\dbbackup.bat"
REM ---环境配置-------------
set Backup_Log=F:\db2-backup-bbs\script\db2back.log
RE ...
getResourceAsStream使用
- 博客分类:
- Struts2
首先,Java中的getResourceAsStream有以下几种:
1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
3. ServletConte ...
关于Hibernate的缓存详解
- 博客分类:
- Hibernate
1. 关于hibernate缓存的问题:
1.1.1. 基本的缓存原理
Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。
第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件查询时必须使用相应的方法才能从缓存中获取数据。比如Query.iterate()方法、load、get方法等。必须注意的是session.find方法永远是从数据库中获取数据,不会从二级缓存中获取数据,即便其中有其所需要的数据也是如此。 ...
该对象状态由持久化状态变为游离态。
在更新的时候调用了saveOrUpdate方法会将一个临时对象持久化,但同事在加日志时要得到修改前对象,所以在我update之前get了一下,此时update报错:a different object with the same identifier value was already associated with the session;
因为get时通过ID将其放入了缓存,saveOrUpdate又要将同一ID对象放入缓存,所以报错。
解决方法:
在get后将得到的对象从缓存中evict
方法2:
使用方法:merge来更新保 ...
一、Hibernate中的悲观锁(pessimistic)和乐观锁(optimistic)
1.hibernate悲观锁
1)hibernate自动设置悲观锁定
当使用Hibernate更新或者插入一行记录的时候,锁定级别自动设置为LockMode.WRITE。
当Hibernate在“可重复读”或者是“序列化”数据 ...