If you have service task in workflow, they all will run in same thread context, which have started the process.
In the very first service task call "userTransaction.begin();" and in the the last service task call "userTransaction.commit();"
Remeber to call flush() followed by persist() to avoid transaction errors.
Sample Code:
"entityManager.persist(someObject); entityManager.flush();"