public Company saveOrUpdateCompany(Company company) { if (company.getDateCreate() == null) { company.setDateCreate(new Date()); } company.setDateUpdate(new Date()); if (company.getId() != null) { if (em.contains(company)) { em.refresh(company); } Company mergedCompany = em.merge(company); em.flush(); return mergedCompany; } else { em.persist(company); return company; } }