묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
배포 환경에서 db 분리 질문
안녕하세요 영한님! 항상 강의 정말 잘 듣고 있습니다!gradle build를 진행할 때 테스트 코드를 수행하는 걸로 알고 있습니다.테스트 코드는 운영 db가 아닌 테스트용 db를 통해 수행하도록 하는게 맞을까요? 생각하고 있는 방법은1. test/resources에 application.yml을 추가해서 테스트 코드는 인메모리 db (h2)를 통해 수행 2. ec2 안에 테스트용 mysql 컨테이너를 띄워두고 mysql을 통해 테스트 코드 수행이렇게 2가지 방식을 생각중인데 맞는 방법일까요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원가입 테스트 오류
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의내용과 동일하게 컨트롤+쉬프트+T 눌러서 JUnit4 선택하고 코드를 동일하게 쳤을때 이런 오류가 발생합니다 https://www.inflearn.com/questions/15495/%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%8F%84%EC%A4%91-%EC%97%90%EB%9F%AC-%EB%B0%9C%EC%83%9D링크에서 설정에서 run test를 intelliJ IDEA로 바꾸면 아래와 같은 오류입니다intellij IDEA로 변경 + 임포트를 jupiter.api.test 로 하면이런 오류입니다 run test를 default + 임포트를 jupiter.api.test로 하면이런 오류입니다....어떻게 해야 할까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
create 시 반환 타입 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]create시에 반환 타입을 Long 을 주는 실무적인 관점에서 이유가 뭘까요?? 어떤 경우에 좋은지 예를 들어 주실 수 있을까요??https://woojin.tistory.com/115#google_vignette에서는 아예 void 를 사용하지 말라고하는데 그 이유가 공감이 전혀 안됩니다.예를 들어 뭐 이런 건가요?? 주문 완료하기 버튼을 딱 누르면 생성된 주문 ID 가 딱 반환이되고 생성된 주문 ID를 바탕으로 조회해서 어떤 주문이 완료되었는지 표시해주게? 그러면 만약에 상품에 대한 평가를 남긴다고 하면 상품 평가 ID 를 반환해봤자 차피 바로 조회할 필요가 없어 보이는데 이러면 void 써도 되는 것 아닌가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
CRUD 미니플젝을 하는도중에 궁금합니다.
/* 등록 */ public void savePosts(Posts posts) { postsRepository.save(posts);/* 업데이트 */ public void doUpdate(Posts posts) { postsRepository.save(posts);구글링을 해보니 JPA의 save를 사용했을시 기존에 DB에 데이터가있을땐 바뀌는 부분만 업데이트 된다해서 이렇게 코딩을 했습니다. 하지만 수정기능을 동작해보니 기존 데이터가 수정되지 않고 새로운 데이터로 DB에 추가가 되고있습니다. 무언가 다른 방법이 있을까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
병합이랑 변경감지를 왜쓰나요? 그냥 jpa에 있는 sql문 update를 쓰면 되지않나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예전에 프로젝트를 할때jpa에 있는 sql문을 통해서 update문으로 수정을 했는데병합이랑 변경감지를 구지 쓰는 이유가 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JpashopApplication 실행 시
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 처음에 선생님이 환경설정 하신다고 JpashopApplication에아래와 같은 코드 만들어놓고 메인메서드 실행하셨는데 저는 그럴때마다 Process 'jpashop [:JpashopApplication.main()]' Is Running 'jpashop [:JpashopApplication.main()]' is not allowed to run in parallel. Would you like to stop the running one? 이런 메세지 뜨면서 새로 실행이 되는데 선생님께선 Do not show this dialog in the future 체크해놓고 매 실행시마다 새로 실행이 되는게 맞는걸까요?Hello hello = new Hello(); hello.setData("hello"); String data = hello.getData(); System.out.println("data = " + data);
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2대신 mysql로 했습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]h2console에는 이전강의시간에 했던 test만 작동되고.. jpashop이 안만들어져서 그냥 mysql로 했습니다spring: datasource: url: jdbc:mysql://localhost:3306/jpashop username: user password: user1234 driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: create properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect format_sql: true logging: level: org.hibernate.SQL: debugddl-auto: create로 되어있는데 어플리케이션 실행후 workbench로 가보면ORM 표존 JPA 프로그래밍때 했던 DB가 그대로 있습니다..drop 된 후 새로 create 되는것이 아닌가요?스프링부트에서도 hibernate sql문 출력이 안됩니다,, 테스트에서도 @Rollback(false)를 안하면 통과이고@Rollback(false)를 하면 unknown column오류가 납니다..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
뷰 코드 복사했는데 복사도 이상하게 되고 실행하면 오류가 뜨는데 뭐가 잘못된건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]pdf 파일에 있는 뷰 코드복붙했는데실행하면 오류가 뜹니다. pdf파일 복사가 제대로 안되는데 왜 구지 pdf로 올리는지 모르겠네요 일단 코드 보여드릴게요creatememberform.html<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head th:replace="fragments/header :: header" /> <style> .fieldError { border-color: #bd2130; } </style> <body> <div class="container"> <div th:replace="fragments/bodyHeader :: bodyHeader"/> <form role="form" action="/members/new" th:object="${memberForm}" method="post"> <div class="form-group"> <label th:for="name">이름</label> <input type="text" th:field="*{name}" class="form-control" placeholder="이름을 입력하세요" th:class="${#fields.hasErrors('name')}? 'form-control fieldError' : 'form-control'"> <p th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Incorrect date</p> </div> <div class="form-group"> <label th:for="city">도시</label> <input type="text" th:field="*{city}" class="form-control" placeholder="도시를 입력하세요"> </div> <div class="form-group"> <label th:for="street">거리</label> <input type="text" th:field="*{street}" class="form-control" placeholder="거리를 입력하세요"> </div> <div class="form-group"> <label th:for="zipcode">우편번호</label> <input type="text" th:field="*{zipcode}" class="form-control" placeholder="우편번호를 입력하세요"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> <br/> <div th:replace="fragments/footer :: footer" /> </div> <!-- /container --> </body> </html>itemlist.html<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head th:replace="fragments/header :: header" /> <body> <div class="container"> <div th:replace="fragments/bodyHeader :: bodyHeader"/> <div> <table class="table table-striped"> <thead> <tr> <th>#</th> <th>상품명</th> <th>가격</th> <th>재고수량</th> <th></th> </tr> </thead> <tbody> <tr th:each="item : ${items}"> <td th:text="${item.id}"></td> <td th:text="${item.name}"></td> <td th:text="${item.price}"></td> <td th:text="${item.stockQuantity}"></td> <td> <a href="#" th:href="@{/items/{id}/edit (id=${item.id})}" class="btn btn-primary" role="button">수정</a> </td> </tr> </tbody> </table> </div> <div th:replace="fragments/footer :: footer"/> </div> <!-- /container --> </body> </html>이코드 실행하면Whitelabel Error Page라고 뜨네요뭐가문제인가요..pdf그대로 복사하면 복사가 제대로 안되서 붙여넣어지는데불편하네요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
교육 끝났는데 진행률이 100%가 안되네요?????
"스프링부트와 jpa활용 1편"마지막 교육인 "다음으로"까지 다 수강했는데진행률이 100%가 되지 않습니다???
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2에 다른 별도의 프로젝트를 연결하려면 어떻게 해야할까요?
h2.properties에서 포트번호를 다른 번호로 바꾸고 해봐도 이전에 했던 h2 포트로 연결이 되더라구요... 별도 프로젝트를 다른 포트로 연결하고 싶을 땐 세팅을 어떻게 해야할까요? 찾아봐도 잘 안돼서 질문드립니다.(스프링 프로젝트이고 gradle 사용하여 application.properties에 해당 h2 db 연결하려고 하는 상황입니다)
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Service에서 @transactional을 왜쓰는건가요? 안써도 되지않나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]트랜젝션을 쓰지 않아도 크게 상관이없지않을까요?왜쓰는건지 궁금하고트랜젝션을 쓰지않을때는 도메일 모델 패턴으로쓰는데도메일 모델 패턴은 왜 트렌젝션을 어노테이션으로 달지않나요?야생형으로 듣다보니 의문형이 생기네요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
생성 메서드 질문! Static을 왜 붙이는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]생성메서드의 용도가 갑자기 까먹었는데그냥 생성자로 넣어주려는걸로 아는데Static으로 정적으로 왜쓰는건가요?Static 빼면 안되나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
데이터 초기화하는 방법(@PostConstruct)
제 문제 해결 접근이 맞는것인지 질문드립니다! 테스트할 때마다 회원, 상품을 새로 등록해야하는 것이 번거로워서, 기본편에서 배운 초기화 콜백을 이용해 우선 Item을 초기화해보려고 했습니다. // ItemService.java @PostConstruct @Transactional public void initData() { Book book1 = new Book(); book1.setName("book1"); book1.setPrice(1000); book1.setStockQuantity(10); book1.setAuthor("Steven"); book1.setIsbn("10000"); itemRepository.save(book1); }위와 같이 ItemService에 초기화 메서드를 추가했는데 계속 해서 에러가 났습니다. 검색해보니 아무래도 초기화 콜백과 트랜젝션 처리를 initData()하나로 동시에 처리하려다보니 발생한 문제 같았습니다. 초기화 콜백을 확실히 완료하고나서 트랜젝션 처리를 해야 트랜젝션이 정상적으로 작동하는 것 아닌가 싶습니다. 단순히 코드상으로 이를 보장할 방법이 떠오르지 않았습니다. 이 때 떠오른게 DB2편의 @EventListener(ApplicationReadyEvent.class)인데, ApplicationReadyEvent가 스프링 컨테이너 초기화를 완전히 마치고 발생하는 이벤트라고 알고 있습니다. 이렇게 하니 초기화가 잘 됐습니다. 이처럼 선언적 트랜젝션을 적용하는 상황에서 초기화를 하기 위해서는 @EventListener(ApplicationReadyEvent.class)를 적용하는 것이 맞는 접근법일까요?@EventListener(ApplicationReadyEvent.class) @Transactional public void initData() { Book book1 = new Book(); book1.setName("book1"); book1.setPrice(1000); book1.setStockQuantity(10); book1.setAuthor("Steven"); book1.setIsbn("10000"); itemRepository.save(book1); }정상 작동한 최종 코드입니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Entity 클래스에 기본 생성자가 없는데 왜 에러가 안나는 걸까요
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 2 - 엔티티 클래스 개발2 15:18쯤에 강사님께서도 말씀하셨고, 직접 보여주셨듯이 Entity 클래스에 기본생성자가 없으면 컴파일 에러가 발생한다고 알고 있는데 저는 왜 컴파일 에러가 발생하지 않을까요?? @Embeddable 어노테이션 때문에 그런가 싶어서 다른 Entity 클래스에서도 확인해봤지만 똑같이 기본 생성자가 없어도 컴파일 에러가 발생하지 않습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
48초에 dependencies 문서보는 부분이 없네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예전버전 인거같은데 웹사이트가 달라서 찾을수가 없네요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
th:object에 대해 질문드립니다.
MVC2편에서 배웠던 것 같지만 헷갈리는 부분이 있어 질문드립니다. // ItemController /** * 상품 수정 */ @PostMapping("/items/{itemId}/edit") public String updateItem(@ModelAttribute("form") BookForm form) { // updateItemForm.html <form th:object="${form}" method="post"> th:object="${form}" 에서 괄호 안에 form을 참조하여 컨트롤러의 @ModelAttritube("form")을 했을 때 요청 파라미터를 바인딩해서 BookForm 객체에 넘겨준다고 이해했는데, @ModelAttritube("form1") 이런식으로 바꿔도 정상적으로 작동했습니다. 혹시 제가 놓친 부분이 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
수정시에 질문있습니다!!!! Editor??
[질문 내용]여기에 질문 내용을 남겨주세요. 저는 지금까지 수정을 시도할때 changeContentsAndtitle 이런 식으로 엔티티단에서 수정을 시도했는데 https://velog.io/@gundorit/Spring-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%90%9C-CRUD-Update 이 블로그에 따르면 그것은 별로 안좋고 Editor 를 선언해서 하면 좋다는 식으로 얘기하고 있습니다. 근데 이렇게 하면 영한님이 얘기하셨던 얘기 중에 그런 이야기가 있었습니다. DTO 는 엔티티를 참조해도 되는데 , 엔티티는 DTO 를 참조하지 말라고 하셨습니다.위 블로그에서는 Entity 에서 DTO 를 참조하지는 않는데 Entity 에서 UpdateEditor 를 선언하고 있는데 이런 부분에 문제는 없을까요?? 영한님도 이런 스타일로 하시나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA와 DB설정, 동작확인 강의에서 오류메세지 발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 오류를 못찾는건지 자료랑 비교했을 때 별 특이사항은 없는 것 같은데 자꾸 오류가 발생합니다.MEMBER_SEQ이 대체 뭔지 모르겠네요 ㅠㅠ 젤 하단 사진 테스트코드 실행 시 오류가 발생합니다. application.yml server: port: 8081 #MVCC=TRUE를 넣어주면 여러개를 한번에 접근했을 때 좀 더 빨리 처리가 된다. spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver #ddl-auto: create -> 자동으로 테이블을 만들어주는 모드 jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true System.out.~을 통해서 출력 format_sql: true #logger를 통해 출력 #로그 레벨 #hibernate SQL로그를 디버그 모드로 쓴다는 것 #-> Hibernate가 남기는 모든 로그가 다 디버그 모드로 해서 JPA나 Hibernate가 생성하는 SQL이 다 보인다. logging: level: org.hibernate.SQL: debug Memberpackage jpabook.jpashop; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private long id; private String username; }MemberRepositorypackage jpabook.jpashop; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.springframework.stereotype.Repository; @Repository public class MemberRepository { @PersistenceContext private EntityManager em; public Long save(Member member){ em.persist(member); return member.getId(); } public Member find(Long id){ return em.find(Member.class,id); } }MemberRepositoryTestpackage jpabook.jpashop; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.*; import static org.junit.Assert.*; @RunWith(SpringRunner.class) //junit한테 SpringBoot로 테스트 한다고 알려주는 것 @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional public void testMember(){ //given Member member=new Member(); member.setUsername("memberA"); //when Long saveID= memberRepository.save(member); Member findMember=memberRepository.find(saveID); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); } }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[수정 요망] orderList.html 코드 문제발생
관련링크입니다.https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1&unitId=24311&tab=community&category=questionDetail&q=1109808해당 질문의 답변입니다. {T(jpabook.jpashop.domain.OrderStatus).values()}OrderStatus가 item에 담겨져 있네요{T(jpabook.jpashop.domain.item.OrderStatus).values()}로 바꿔보시죠pdf상에서 코드나 주의 표시로 해당 사항을 넣어주셨으면 좋겠습니다. 해당 오류때문에 너무 많은시간을 소비하였습니다. ㅜㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Member - Order 연관관계
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Member와 Order의 연관관계에서 가급적 단방향을 사용하라고 하셨는데,1: 특정 Member의 주문목록을 확인할 때는 Member 엔티티에서 별도의 orders라는 List를 만들지 말고 Order들에서 특정 Member를 가진 객체를 찾는 방식으로 접근하는게 좋다는 말씀으로 이해해도 괜찮을까요?2: 그렇다면 order - orderItem - item 의 경우 다대다 관계를 특정 테이블을 추가로 생성해서 일대다 다대일로 연관관계를 설정했는데, 이때도 단방향으로 유지하는게 좋은걸까요?