2013-11-28 35 views
2

我用悲观锁定了很多在我的应用程序,它使用实体管理器时正常工作:SELECT FOR UPDATE教义2 DQL

$em->find($class, $id, LockMode::PESSIMISTIC_WRITE); 

使用MySQL时,这将导致SELECT FOR UPDATE

现在我需要使用相同的锁定,但对于使用DQL查询检索的实体。

是否可以在DQL中使用悲观锁定?

回答

5

找到的解决方案,使用Query::setLockMode()

$query = $this->em->createQuery('SELECT ...'); 
$query->setLockMode(LockMode::PESSIMISTIC_WRITE);