如何从数据库中获取实体并在学说ORM中锁定相应的数据库行



原则 2 中是否有可能(以及如何)创建一个带有QueryBuilder的查询并为每个匹配的行获取写锁定? LockMode::PESSIMISTIC_WRITE 可以在使用 EntityRepository->find() 获取单个项目时使用,但我无法为 QueryBuilder 找到这样的属性。

答案是在Query对象上调用setLockMode()

$qb = $em->createQueryBuilder();
$query = $qb->getQuery();
$query->setLockMode(LockMode::PESSIMISTIC_WRITE);
$results = $query->getResult();

"事务和并发"文档页面的最后一行显示支持Query->setLockMode()。有点难以注意到,但它就在那里... ;)

相关内容

  • 没有找到相关文章

最新更新