diff --git a/src/main/java/dgu/newsee/domain/transformednews/service/TransformedNewsService.java b/src/main/java/dgu/newsee/domain/transformednews/service/TransformedNewsService.java index 74b572a..17feeb1 100644 --- a/src/main/java/dgu/newsee/domain/transformednews/service/TransformedNewsService.java +++ b/src/main/java/dgu/newsee/domain/transformednews/service/TransformedNewsService.java @@ -77,7 +77,7 @@ public void requestTransformAndSave(Long newsId, String level, NewsStatus status new ParameterizedTypeReference<>() {} ); } catch (Exception e) { - //System.out.println("AI 서버 호출 중 예외 발생: " + e.getMessage()); + System.out.println("AI 서버 호출 중 예외 발생: " + e.getMessage()); e.printStackTrace(); throw new RuntimeException("AI 서버 호출 실패"); } @@ -86,23 +86,23 @@ public void requestTransformAndSave(Long newsId, String level, NewsStatus status try { System.out.println("==== [AI 서버 응답 수신] ===="); if (response == null) { - //System.out.println("응답 객체가 null입니다."); + System.out.println("응답 객체가 null입니다."); throw new RuntimeException("응답이 null"); } - //System.out.println("응답 상태 코드: " + response.getStatusCode()); + System.out.println("응답 상태 코드: " + response.getStatusCode()); ApiResponse apiResponse = response.getBody(); if (apiResponse == null) { - //System.out.println("응답 바디가 null입니다."); + System.out.println("응답 바디가 null입니다."); throw new RuntimeException("response.getBody()가 null"); } //System.out.println("응답 바디: " + objectMapper.writeValueAsString(apiResponse)); if (apiResponse.getResult() == null) { - //System.out.println("result 필드가 null입니다."); + System.out.println("result 필드가 null입니다."); throw new RuntimeException("AI 응답의 result가 null"); } @@ -117,7 +117,7 @@ public void requestTransformAndSave(Long newsId, String level, NewsStatus status .status(status) .build(); transformedRepository.save(transformed); - //System.out.println("변환된 뉴스 저장 완료"); + System.out.println("변환된 뉴스 저장 완료"); for (var wordDTO : result.getDifficultWords()) { if (!wordRepository.existsByTerm(wordDTO.getTerm())) { @@ -125,13 +125,14 @@ public void requestTransformAndSave(Long newsId, String level, NewsStatus status .term(wordDTO.getTerm()) .description(wordDTO.getDescription()) .category(news.getCategory()) + .news(news) .build(); wordRepository.save(word); } } } catch (Exception e) { - //System.out.println("응답 처리 중 예외 발생: " + e.getMessage()); + System.out.println("응답 처리 중 예외 발생: " + e.getMessage()); e.printStackTrace(); throw new RuntimeException("응답 처리 실패"); } diff --git a/src/main/java/dgu/newsee/domain/words/entity/Word.java b/src/main/java/dgu/newsee/domain/words/entity/Word.java index 0c459e2..f50a4a4 100644 --- a/src/main/java/dgu/newsee/domain/words/entity/Word.java +++ b/src/main/java/dgu/newsee/domain/words/entity/Word.java @@ -1,5 +1,6 @@ package dgu.newsee.domain.words.entity; +import dgu.newsee.domain.crawlednews.entity.NewsOrigin; import dgu.newsee.global.common.BaseEntity; import jakarta.persistence.*; import lombok.*; @@ -16,7 +17,9 @@ public class Word extends BaseEntity { @GeneratedValue(strategy = GenerationType.IDENTITY) private Long wordId; - private Integer newsId; + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "news_id") + private NewsOrigin news; private String term;