@Override public void save(QualityForm entity) throws ValidationException { if (entity.isReportAdvance()) { String name = QualityForm.ADVANCE_TYPE_PREFIX + entity.getName(); AdvanceType advanceType = entity.getAdvanceType(); if (advanceType != null) { advanceTypeDAO.save(advanceType); advanceType.setUnitName(name); } else { advanceType = AdvanceType.create( name, new BigDecimal(100), false, new BigDecimal(0.01), true, true, true); advanceTypeDAO.save(advanceType); entity.setAdvanceType(advanceType); } } super.save(entity); }