2013-06-04 32 views
0

我使用Hibernate3.2的。我需要知道的是,在事务启动后,hibernate会执行行级锁。 Hibernate在启动事务或提交事务后执行锁定? Hibernate能够锁定表或行吗?Hibernate事务将锁定在我DAO层表(MySQL的)行

Session session1=HibernateSessionFactory.currentSession(); 
Transaction tran1=session1.beginTransaction(); 

TaskFolder folder=session1.load(TaskFolder.class,2); 

session.update(folder); 

tran1.commit(); 

是否有任何锁定会发生在MySQL数据库由于交易或不?

+0

我不知道了很多关于MySQL的,所以这只是猜测,但我要说的默认事务隔离级别是一个数据库属性。不过,如果锁定了,它会在flush()发生时锁定。这将取决于你的配置... – acdcjunior

回答

0

session.load()方法有一个重载的方法,它采用第三个参数,例如LockMode对象:load(TaskFolder.class, 2, LockMode.UPGRADE);。只要看看可能的锁,然后选择你需要的。