add commit , rollbock method
add ValidationError
add transaction method
fix transaction bug