特别注意(坑):开启事务之前要先实例化使用的实体类,否则可能会出现事务提交不成功的情况
$Repo = $this->em()->getRepository(‘bundleName:entityName’);
/**
* @var \BundleName\Repository\EntityNameRepository $Repo
*/
$Repo = $this->em()->getRepository('BundleName:EntityName');
//开启事务之前要先实例化要使用的实体类
$this->em()->getConnection()->beginTransaction();
try {
$this->em()->getConnection()->beginTransaction();
//代码块区域...
$this->em()->getConnection()->commit();
} catch (\Exception $e) {
$this->em()->getConnection()->rollback();
throw $e;
}