Ce l'hai. Il modo corretto per iniziare, confermare e ripristinare le transazioni è il seguente:
$this->getAdapter()->getDriver()->getConnection()->beginTransaction();
$this->getAdapter()->getDriver()->getConnection()->commit();
$this->getAdapter()->getDriver()->getConnection()->rollback();
Solo per pubblicare anche questo, puoi anche ottenere l'ultimo ID creato da:
$this->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue()
Se stai usando pgSQL dovrai aggiungere la sequenza per restituire l'ultimo ID creato:
$this->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue('mail_mailid_seq')