diff --git a/src/main/java/com/LabWork/app/student/service/CreatorService.java b/src/main/java/com/LabWork/app/student/service/CreatorService.java index ff3ee09..2385308 100644 --- a/src/main/java/com/LabWork/app/student/service/CreatorService.java +++ b/src/main/java/com/LabWork/app/student/service/CreatorService.java @@ -18,9 +18,6 @@ public class CreatorService { @PersistenceContext private EntityManager em; - @Autowired - MangaService mangaService; - @Transactional public Creator findCreator(Long id) { final Creator creator = em.find(Creator.class, id); diff --git a/src/main/java/com/LabWork/app/student/service/ReaderService.java b/src/main/java/com/LabWork/app/student/service/ReaderService.java index 017cf27..9f8ab11 100644 --- a/src/main/java/com/LabWork/app/student/service/ReaderService.java +++ b/src/main/java/com/LabWork/app/student/service/ReaderService.java @@ -6,6 +6,7 @@ import jakarta.persistence.EntityManager; import jakarta.persistence.EntityNotFoundException; import jakarta.persistence.PersistenceContext; import jakarta.transaction.Transactional; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -15,6 +16,8 @@ import java.util.List; public class ReaderService { @PersistenceContext private EntityManager em; + @Autowired + private MangaService mangaService; @Transactional public Reader findReader(Long id) { @@ -50,7 +53,13 @@ public class ReaderService { @Transactional public void removeManga(Manga manga, Long readerId) { - em.createNativeQuery("delete from Mangas_Readers where MANGA_FK = " + manga.getId() + " AND READER_FK = "+ readerId).executeUpdate(); + //em.createNativeQuery("delete from Mangas_Readers where MANGA_FK = " + manga.getId() + " AND READER_FK = "+ readerId).executeUpdate(); + final Reader currentReader = findReader(readerId); + final Manga currentManga = em.find(Manga.class, manga.getId()); + currentReader.getMangas().remove(currentManga); + currentManga.getReaders().remove(currentReader); + em.merge(currentReader); + em.merge(currentManga); } @Transactional diff --git a/src/test/java/com/LabWork/app/ReMangaTest.java b/src/test/java/com/LabWork/app/ReMangaTest.java index 83cbcdd..c08d199 100644 --- a/src/test/java/com/LabWork/app/ReMangaTest.java +++ b/src/test/java/com/LabWork/app/ReMangaTest.java @@ -240,6 +240,7 @@ public class ReMangaTest { Manga m11 = mangaService.findManga(m1.getId()); Assertions.assertEquals(1, r12.getMangas().size()); log.info(mangaService.findAllMangas().toString()); + log.info(r12.getMangas().toString()); } @Test