transaction support for findOrInitialize