inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

작성글 저장 2 - 클래스 분리

Entity 상속관계 매핑 설정 시 request , edit , response 클래스 분리

501

호르루

작성한 질문수 1

2

안녕하세요! 호돌맨님 해당 강의를 보면서 토이프로젝트를 진행 중 질문이 생겨서 글을 씁니다.

간단한 Quiz 맞추는 프로젝트를 만들고 있는데 Quiz 엔티티에 JPA 싱글테이블 전략 상속관계로 주관식 , 객관식 , 서술형으로 자식엔티티를 생성했습니다.

자식엔티티를 생성 하고 보니 기존 Quiz의 Request , Edit , Response 클래스를 어떻게 변경해야하는지 답이 안 생겨서 이렇게 질문 드립니다. 🙇🏻‍♂️🙇🏻‍♂️🙇🏻‍♂️🙇🏻‍♂️

  1. 자식 엔티티 각각 Request , Edit , Response 클래스 생성 -> 컨트롤러 파라미터에서 어떻게 받지? 컨트롤러 메서드로 분리시켜야하나? -> 그럼 프론트엔드에서는 더더욱 복잡해진다.

  2. 기존 Quiz Request, Edit , Response 의 각각 자식 엔티티의 필드 추가 -> 컨트롤러 파라미터에거 받을 수 있고, 컨트롤러 메서드가 분리 필요 X -> 컨트롤러에서 데이터 검증은 어떻게 진행되는거지? 객관식인 경우 보기 필드가 필수값일텐데 보기 멤버 변수에 @NotBlank를 추가한다면 주관식이나 서술형 문제유형일 경우엔 오류가 나타나는 상황

코드가 추가된 노션 링크 전달 드리겠습니다.

https://devysk.notion.site/Entity-request-edit-response-c7433eccd6e24ee486a60bd59013a2a8

jpa spring vuejs JPA java spring-boot Spring Security aws

답변 1

0

호돌맨

안녕하세요. 호돌맨입니다.
답변이 늦어서 죄송합니다.

이건 여러가지로 생각해볼 수 있을것 같습니다.

  1. Quiz와 Quiz에 따른 종류(객관식, 서술형 등)를 분리해보는 건 어떨까요?

  2. 꼭 JPA 상속관계로 문제를 풀어야 하는가? 생각해볼 수 있을것 같습니다.

혹시 Quiz Entity <1-N> QuizItem Entity 형태로 만들어보면 어떨까요?

QuizEntity

Long id;
String name; // 퀴즈하나의 이름이 아닌 퀴즈를 대표하는 이름 eg) 2022학년 인프런 모의고사
List<QuizItem> items;

QuizItem

Long id;
String question;
QuizItemType type (객관식, 서술형)
String(Json) content

QuizItem.content

// 주관식
{
  "keyword": "...",
}

// 객관식
[
  {"example1": ".."},
  {"example2": ".."},
  {"example3": ".."},
]

 

혹시 이해가 잘 안되시면 대댓글 달아주시면 같이 상세하게 얘기해봅시다.
감사합니다.

 

 

 

 

 

 

 

 

Deprecated 관련 사항들

0

106

2

깃헙 collaboator 초대 관련

0

90

1

강의 듣다가 도커 이미지 생성시 각각도 가능하나 그렇게 사용하는데가 많은지 모르겠다라는 말을 듣고 남김니다

0

158

2

logout 후에 login 페이지 이동은 어디서 시켜주는건가요?

0

235

1

다중 데이터를 삭제 할 때

0

271

2

querydsl Q class 이슈

0

417

2

Windows WSL Vue 설정

2

247

1

Dip, @transactional

0

189

1

[vite] http proxy error: /auth/login

0

1048

2

로그인 하고 나서 GET요청으로 메인페이지 요청

0

234

2

GitHub Collaborator 초대 관련

0

259

2

Window에서 Vue.js 설정

0

322

2

collaboator로 초대받을 수 있을까요??

0

284

2

SecurityMockContext 로부터 유저 정보를 가져오기

0

262

1

섹션9 프론트의 코드를 보고싶습니다,,,

0

423

1

Spring Security - defaultSuccessUrl 질문

0

627

1

강의 화면이 나오지 않습니다. 음성과 자막만 나와요

0

304

1

JPAQueryFactory(em)의 객체 생성자 오류에 대해서 질문이 있습니다ㅜㅜ

0

691

2

ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상

0

1182

2

섹션10 언제 나오나요?

0

485

1

CommentService에서 Repository를 호출하지 않는데도

0

345

1

Editor....를 활용한 패턴에 질문있습니다.

0

496

1

섹션9 vue

0

457

2

Post에 edit 메서드 삼항연산자 질문

0

477

2