인프런 커뮤니티 질문&답변

gyfl5542님의 프로필 이미지
gyfl5542

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

생성 메서드를 작성하는 클래스의 기준과 클라이언트에서 엔티티 아니라 orderid를 넘기는 이유

작성

·

222

0

안녕하세요 ? 강의를 들으면서 몇가지 질문이 있어 글을 씁니다.

  1. 생성 메서드를 사용하는 이유에 대한 다른 질문의 답변의 외부 글을 읽었습니다.

     

    강의의 Order와 OrderItem의 경우엔 생성자를 쓰던 생성 메서드를 쓰던 별 차이가 없는 것 같다고 생각이 듭니다. 혹시 이 두 클래서에서 생성 메서드를 사용했을 때 얻는 이점을 자세히 설명해주실 수 있나요?

  2. 특정한 클래스에만 생성 메서드를 쓰는 기준이 궁금합니다. 멤버변수 중에 객체가 있는 경우인가요?

  3. 주문 삭제의 경우 클라이언트에서 orderId를 넘깁니다. 그럼 영속성 컨텍스트에서 한번 조회하여 order 엔티티를 찾습니다. 클라이언트에도 Order 엔티티 정보가 그대로 있어서 넘기면 바로 쓸 수 있는데 id를 넘기는 이유가 궁금합니다. 제가 생각해본 바로는 영속성 컨텍스트(캐시)에서 조회하는 건 자원이 크게 들지 않고 객체가 큰 경우에는 객체 자체를 넘기는 게 오히려 더 큰 자원이 들 수 있다는 점입니다. 맞을까요?

답변 기다리겠습니다. 감사합니다 !

 

답변 2

1

안녕하세요. gyfl5542님, 공식 서포터즈 David입니다.

1, 2. https://www.inflearn.com/questions/38376 답변을 참고해 주세요.

  1. 클라이언트에서 오는 정보가 다 정상적인 데이터가 아닙니다. 얼마든지 악의적인 목적에 의해 변조될 수 있습니다. id를 넘기는 이유는 리소스(여기서는 주문 정보)를 식별하는데 id만 있어도 되기 때문입니다. 이를 통해 서버는 특정 주문을 조회하여 관련된 처리를 하면 됩니다.🙂

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

질문하신 내용에 대한 유사한 질문과 그에 대한 답변을 찾았습니다. 아래 링크들을 참고하시면 강의 중 생성 메소드와 생성자의 사용에 대한 이점과 선택 기준에 대해 자세히 알아보실 수 있습니다.

  1. 강의 내에서 Order와 OrderItem의 생성 메소드 사용과 생성자 사용의 차이점 및 이점에 대한 질문과 비슷한 내용입니다.
  1. 생성 메소드를 사용하는 특정 클래스의 기준에 대한 질문과 유사합니다.
  1. 클라이언트에서 엔티티 대신 ID를 넘기는 이유와 관련된 질문입니다.

각 링크를 참고하시어 궁금증을 해소하시길 바랍니다.

gyfl5542님의 프로필 이미지
gyfl5542

작성한 질문수

질문하기