My intention was to separate tasks of each method and make them compact. At least I have read it in a couple of books that it's a good practice not to make methods too chunky. beginTransaction, commitTransaction, and rollbackTransaction does multiple tasks (get transaction manager, start/finish transaction, enlist dummy participant, catch exception) which are not directly related to adding customer to the database.