プログラムの実行にハンドラー、businessObject、および DAO を使用するプログラムがあります。制御はハンドラーから始まり、businessObject へ、そして最後にデータベース操作のための DAO へと続きます。
たとえば、私のプログラムでは、insertEmployee()、updateEmployee()、deleteEmployee() という 3 つの操作が実行されます。各メソッドは、ハンドラから次々に呼び出されます。insertEmployee() を呼び出してコントロールをハンドラーに戻すと、updateEmployee() を再度呼び出してコントロールをハンドラーに戻してから、deleteEmployee() を呼び出します。
問題の説明: dao の最初の 2 つのメソッドが成功し、制御がハンドラーに戻り、dao に要求する次のメソッドが deleteEmployee() である場合。その間、deleteEmployee() で何らかの例外に直面します。以前の insertEmployee() および updateEmployee() 操作もロールバックできるはずです。deleteEmployee() だけをロールバックするべきではありません。このプログラムはシステムで実行されたことがないため、動作するはずです。
春のjdbcTemplateトランザクション管理でこれを達成する方法を教えてください。