private void deleteMediaAssociations(Accompaniment root) { if (root.getPhotoName() != null) { List<AccompanimentMedia> medias = accompanimentMediaDAO.listByAccompaniment(root.getId(), MediaTypeEnum.PHOTO.getId()); for (AccompanimentMedia accompanimentMedia : medias) { accompanimentMedia.setAccompaniment(null); accompanimentMediaDAO.update(accompanimentMedia); accompanimentMediaDAO.delete(accompanimentMedia); } } if (root.getVideoName() != null) { List<AccompanimentMedia> medias = accompanimentMediaDAO.listByAccompaniment(root.getId(), MediaTypeEnum.VIDEO.getId()); for (AccompanimentMedia accompanimentMedia : medias) { accompanimentMedia.setAccompaniment(null); accompanimentMediaDAO.update(accompanimentMedia); accompanimentMediaDAO.delete(accompanimentMedia); } } }
@Override public void removeMedia(Long id, MediaTypeEnum mediaType) { List<AccompanimentMedia> findBy = accompanimentMediaDAO.listByAccompaniment(id, mediaType.getId()); for (AccompanimentMedia accompanimentMedia : findBy) { accompanimentMedia.setAccompaniment(null); accompanimentMediaDAO.update(accompanimentMedia); } Accompaniment findById = accompanimentDAO.findById(id, null); if (MediaTypeEnum.PHOTO.equals(mediaType)) { findById.setPhotoName(null); accompanimentDAO.update(findById); } else if (MediaTypeEnum.VIDEO.equals(mediaType)) { findById.setVideoName(null); accompanimentDAO.update(findById); } }