public Tax saveOrUpdateTax(final Tax tax) { if (tax.getId() != null) { if (em.contains(tax)) { em.refresh(tax); } Tax mergedTax = em.merge(tax); em.flush(); return mergedTax; } else { em.persist(tax); return tax; } }