私はSpringフレームワークのバックグラウンドを持っています。これについて少し知っていれば、たとえばmyStuffTransactional()と呼ばれるトランザクションサービスメソッドを持つことができ、これには一連のDAO操作を含めることができ、DAOの操作のいずれか失敗すると、すべてのメソッド myStuffTransactional() が失敗し、ロールバックします。
例:
@Transactional
public void myStuffTransactional(){
dao1.insertSome();
dao2.deleteSome();
dao3.updateSome();
}
しかし、ここで、dao3.updateSome() が失敗した場合、dao1 と doa2 がロールバックし、データベースが変更されずに残ることを知っています。
今、私は PHP Zend フレームワークを使用していますが、同じ Spring トランザクション動作を取得できます。私は次のような多くの例を見てきました:
$db->beginTransaction();
try
{
$db->exec($sqlSentence);
$query = $db->commit();
}
catch(Exception $e)
{
$db->rollBack();
}
そして、これはモデル(またはDAO)の方法で機能します。つまり、操作のための操作です。私が必要としているのは、Spring フレームワークと同じように、一連のデータベース操作のメソッド ラッパーです。
これが可能かどうか誰にもわかりますか?
よろしくお願いします。