2013-11-28 60 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);