Add userTransaction to begin and commit the transaction to avoid javax.persistence.TransactionRequiredException