once again, spring transactions don't like exceptions