handle transaction management with annotation