public function tran8(Application $app)
{
$app['orm.em']->beginTransaction();
try {
// update 1
$BaseInfo = $app['eccube.repository.base_info']->get();
$BaseInfo->setCompanyName('tran8-1');
$app['orm.em']->flush($BaseInfo);
$app['orm.em']->commit();
// update 1がrollback
throw new \Exception();
} catch (\Exception $e) {
// update 1がrollback
$app['orm.em']->rollback();
}
// update 2
$BaseInfo->setCompanyName('tran8-2');
$app['orm.em']->flush($BaseInfo);
// update 3
$BaseInfo->setCompanyName('tran8-3');
$app['orm.em']->flush($BaseInfo);
// update2/3 は 暗黙のtransaction block内のため、2/3はrollbackされる
throw new \Exception();
return $app->render('index.twig');
}