数据库很重要的方面就是事务和锁,我看过很多实例在dao层并没有显示的调用锁,是不是用了事务管理就已经为数据库操作创建了锁呢?一下一个自己写的例子,用的是spring和hibernate,spring中已经配置了事务管理
public void saveUser(final User use)throws HibernateException{
getHibernateTemplate().save(use);
}
spring 配置:<tx:method name="save*" propagation="REQUIRED" rollback-for="Exception" />
这样的代码会不会出现问题。
public void saveUser(final User use)throws HibernateException{
getHibernateTemplate().save(use);
}
spring 配置:<tx:method name="save*" propagation="REQUIRED" rollback-for="Exception" />
这样的代码会不会出现问题。
解决方案 »
- jsp页面中的下拉菜单的value值在Struts2的Action中无法取到
- 问个log4j的问题
- JFreeChart ant javadoc失败
- Hihernate SQLQuery问题,急!~~~~
- struts2标签中调用JS代码验证无效,不知道哪里错了,各位帮我看看啊
- 请教一个基本问题
- 2006-12-01到2008-06-20杂遍历之间的日期??????(送高分)
- struts spring配置启动问题,谁能解决?
- 求助:安装Oracle 9以后Tomcat5.0不能运行?
- ???请问:我的weblogic在jbuilder模式下能够正常启动,但是,单独启动时,DOS界面很快就一晃而过???
- 开发环境、开发工具、开发平台的关系与区别是什么?
- 推荐个网站——视频教程网
|---------------|----------------|----------------------|----------------|------------------------------------|
|隔离级别 | 是否存在脏读 | 是否存在不可重复读 | 是否存在幻读 |越向下隔离级别越高,性能越差 |
|---------------|----------------|----------------------|----------------|------------------------------------|
|Read Uncommited| Y | Y | Y |没提交时可读 |
|---------------|----------------|----------------------|----------------|------------------------------------|
|Read Commited | N | Y(悲观锁后 N) | Y |提交后可读(最常用)(加入悲观锁使用) |
|---------------|----------------|----------------------|----------------|------------------------------------|
|Repeatable Read| N | N | Y |可重复读(类似加入悲观锁) MySQL默认 |
|---------------|----------------|----------------------|----------------|------------------------------------|
|Serialiazble | N | N | N |序列化读(基本不用)串行,没有并发性 |
|---------------|----------------|----------------------|----------------|------------------------------------|
数据库事务,是为了保证数据一致性、完整性需要的。数据库的锁,一般跟你写程序没关系的,你只要考虑不会出现死锁就ok了!
oracle的TM锁、TX锁知识完全普及
http://blog.csdn.net/crazylaa/archive/2009/12/08/4966787.aspx