묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
rebuild 해도 bootstrap 적용 안 되시는 분들께
크롬 브라우저 기준으로 다음과 같은 에러를 만나셨다면 아래 내용을 참고하시면 좋을 것 같습니다:) "Failed to find a valid digest in the 'integrity' attribute for resource 'http://localhost:8080/css/bootstrap.min.css' with computed SHA-256 integrity 'L/W5Wfqfa0sdBNIKN9cG6QA5F2qx4qICmU2VgLruv9Y='. The resource has been blocked." PDF에서 제공되는 소스를 복붙하시고 bootstrap 버전을 강사님과 동일한 버전을 쓰지 않았을 때 부트스트랩이 적용되지 않을 수 있습니다. == fragments/header.html 중== <link rel="stylesheet" href="/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> 해당 태그의 속성 중 "integrity"의 값이 현재 사용중인 부트스트랩 버전의 것과 일치하지 않으면 브라우저에서 block됩니다. 만약, 최신버전의 부트스트랩을 사용중이시라면 부트스트랩 다운로드 페이지 아래쪽에 "Bootstrap CDN" 항목이 있습니다. 그곳에서 제공하는 소스 중 위에서 언급한 "integrity" 속성의 값을 복사해서 프로젝트의 것과 교체해주시면 됩니다. * css파일이랑 js파일 둘의 integrity 값이 다르니깐 잘 보시고 복사하세요.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품에서 유저 수정 권한 관련 문의드립니다!!
상품 수정을 진행할 때 어떤 인증 절차가 있어야 한다고 해주셨는데요! 제가 진행중인 프로젝트에서는 이 인증 절차를 시큐리티 컨텍스트에서 유저 아이디를 받아와 항상 findByprodcutIdandUserId(상품아이디,유저아이디) 이런 식으로의 인증을 거치고 있습니다! 분명 이런 식과 다른 방법도 있겠지만 여러번 고민과 의논에도 현재 방식보다 간단하고 좋아보이는 방식이 생각이 나지 않아 이렇게 질문드립니다..! 혹시 영한님께서 사용하시는 실무에서의 인증 절차는 어떤식으로 사용하시는지 깊게 알고 싶습니다! 이 로직이 항상 리팩토링 해달라고 신호를 보내는데 그 방법을 알지 못해서 볼때마다 안타깝습니다.. 항상 좋은 강의 감사하고 그 내용이 쉽지 않더라도 조언 주시면 공부해서 적용하고 싶습니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티에 의존성 주입이 필요한 경우?
안녕하세요. 영한님 교육을 듣고 실무에 적용해보려다가 막히는 부분이 있어서 문의드립니다. JPA없이 사용할 때는 Spring 에서 의존성 관리를 잘 해주고 있어서 @Autowired 애노테이션을 쓰든 명시적으로 정의를 하든 인터페이스로 정의되어 있는 필드에 구상체를 주입받을 수가 있는데 Entity 클래스가 가지고 있는 인터페이스에 대한 구상체 주입은 어떤방식으로 하는지 궁금합니다. 또 기존에 개발되어 있는 도메인 클래스가 Map 타입 필드를 가지고 있는데 Key가 Class<T> 타입인 경우는 어떤 식으로 해야할지 감이 안오는데 어떻게 해야 할까요? ㅠㅠ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
BookForm 객체를 dto 로 사용하는 것은 어떤가요?
안녕하세요 선생님 강의 정말 잘 듣고 있습니다. jpa 와 관련있는 질문은 아니지만 너무 궁금해서 올렸습니다. view 단에서 controller 단으로 데이터를 넘길 때 BookForm 객체를 넘기고 이 안의 데이터를 또다시 서비스로 넘길 때 넘길 파라미터가 많을 경우 dto를 생성하는 방법이 있다고 하셨는데 레이어 간의 구분을 명확히 하기 위한 관례 같은 건가요? 혹시 처음부터 BookForm 객체를 dto로 취급해서 넘기는 것은 좋지 않은 방법 인가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Item 클래스의 addStock, removeStock method 동시성 문제가 없나요?
안녕하세요. 강의 잘 보고있습니다. 여러 스레드에서 addStock 또는 removeStock method 실행시 stock 수가 변경할때 동시성 문제가 발생하지 않나요? junit으로 multi thread 요청을 테스트 해보고 싶어서 이런 저런 방법을 시도중인데 제가 테스트를 잘못한건지 동시성 문제가 발생하더라구요.. JPA에 입문한지 얼마 안되서 어떤식으로 해결하는게 좋을지 잘 모르겠습니다.. ㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Category 연관관계 편의메서드
category에 연관관계 편의 메서드 만드실 때 public void addChildCategory(Category child){ this.child.add(child); child.setParent(this);} 이렇게 만드셨는데.. public void setParent(Category parent) { this.parent = parent; parent.getChild().add(this);} 이렇게 만들어도 되는거죠? 만약 된다면 왜 첫번째 처럼 만드셨는지 궁금합니다.. 항상 잘 듣고 있습니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인분석설계 챕터 => 엔티티설계시주의점 강의 14분쯤
안녕하세요. jpa가 컬렉션을 persistentBag으로 랩핑하기 때문에, 컬력션을 필드에서 초기화한 후 바꾸지 말라고 하셨는데, 컬렉션을 바꾼다는 의미가 새로운 컬력션을 생성하거나, set이나 map 등의 다른 컬렉션으로 바꾼다는 의미인가요? 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
단위 테스트, 통합 테스트에 대한 질문입니다.
안녕하세요. '주문 도메인 개발 - 주문 기능 테스트' 강의 마지막 부분에서 DB와 상관없이 단위 테스트를 해보는 것도 중요하다라고 언급을 해주셨는데요. 강의를 듣고 이해한 단위 테스트라는 것은 JPA를 이용하는 문법(Service, Repository)까지 테스트 하지 않고, 엔티티 클래스(Order, OrderItem 등)에 선언된 비즈니스 로직 메소드만 가지고 잘 동작하는지 테스트 하는것을 의미하는 것인가요? 예를 들어, '주문 상품 재고 감소' 테스트 코드를 작성한다면, 초기값이 설정된 회원과 주문 상품 객체를 생성한 후 주문시 'Service,'와 'Repository'를 사용하지 않고 순수 엔티티 클래스에 정의된 비즈니스 로직 메소드가 잘 동작하는지 확인하는 코드를 작성하면 되는 것 일까요? 위 내용이 맞다면 단위 테스트의 대상은 아래와 같겠네요. OrderItem Class의 createOrderItem(), Order Classs의 createOrder(), Item Abstract Class의 removeStock() 미리 답변 감사드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 MVCC에 관해서
url: jdbc:h2:tcp://localhost/~/jpashop;MVCC=TRUE application.yml에서 강의와 동일하게 위와 같이 작성하였습니다. 그런데 org.h2.jdbc.JdbcSQLNonTransientConnectionException: Unsupported connection setting "MVCC" [90113-200] 위와같은 에러가 나서 아래와 같이 작성하여 테스트를 재실행해보니 에러가 사라졌습니다. url: jdbc:h2:tcp://localhost/~/jpashop MVCC설정이 안되는 이유를 좀 알려주시면 감사하겠습니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderItem 관련
1. cancel과 getTotalPrice의 경우 getter를 사용해서 가져오는 방법과 변수에 직접 접근하는 방법 두가지를 혼용해서 사용하셨는데 이렇게 사용하신 이유가 있는지 궁금합니다. (count에 직접 접근 vs getCount 메소드 사용) 2. 그리고 어떤 경우에 변수에 직접 접근해서 사용하는지 어떤 경우에 getter를 사용하는 지 궁금합니다. //==비즈니스 로직==//public void cancel() { getItem().addStock(count);}public int getTotalPrice() { return getOrderPrice() * getCount();}
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
라이브러리 의존관계
안녕하세요 라이브러리 의존관계를 보면서 궁금한 점이 있어서 질문 드립니다. 현재 스프링에 대한 지식이 많이 부족하여 질문 수준이 조금 낮을 수도 있는 점 양해드립니다. 라이브러리 의존관계란 intellij에서 보여주신 것을 기준으로 하위에 있는 라이브러리가 충족이 되어야 상위 라이브러리를 사용할 수 있는 것으로 이해하면 될까요? 또한 스프링 데이터 jpa와 스프링 web과 관련된 라이브러리를 보면서 스프링 코어가 스프링 데이터 jpa에 속해있었는데 그러면 스프링 web은 spring core에는 의존관계가 없는 것인가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테이블 생성시 foreign key 생성에 대한 부분을 설정할 수 있나요?
JPA 에서 DB 생성시 joincolumn 을 지정해 놓은 것을 foreign key 로 생성해 준다고 하셨는데요. 혹시 설정을 통해 제어할 수 있나요? 전체적으로 생성을 못하게 한다든지어떤 column 은 FK 로 잡아주고 어떤 column 은 무시하고개별적으로도 설정이 가능한지 궁금합니다.^^ 좋은 강의 감사드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 편의 메서드에 관련 문의
연관관계 편의 메서드에 이점을 느끼고 있습니다만...이를 이해하는데 있어서 상당히 어려움을 느끼고 있습니다. 상품 주문 시 1. 주문한 member 를 조회2. 주문한 item을 조회3. 주문한 member address를 통해 delivery 생성4. 주문한 item, 가격, 상품수를 인자로 주문상품 생성5. 주문한 member,delivery,orderitem을 인자로 주문생성 주문상품 orderitem은 FK로 item, order를 가지나주문생성에는 orderItem이 필요하기 때문에주문상품 생성 시 order를 인자로 전해주지못하고주문 생성 시 생성된 order를 연관관계 편의메서드를 통해주문상품 order의 빈자리를 채워주고 있습니다. 주문생성 연관관계 편의 메서드를 보면양방향 관계인 member, delivery, orderitem을 모두함께 셋팅해주는데요. 1.member 생성 시 order와는 관계를 맺을 수 없으니연관관계 메서드 필요없음 2. delivery는 주문 생성 시 함꼐 생성되므로 order 또는 delivery에 연관관계 메서드 생성 3. orderitem은 order가 생성되어야 이후에 fk로 셋팅이가능하기 떄문에 order에 연관관계 메서드 생성 일단 이렇게 이해를 하고있는데요. 좀더 명확하게 연관관계 메서드가 위치해야하는곳이어디인가? 라는 물음에 케바케인가 싶기도 하구요.어느부분을 중점으로 봐야할까요?김영한님 책도 있긴한데 참고할 부분이 있을까요? 진짜 양방향은 왠만하면 안쓰는게 맞다는 말이 조금은 이해가 됩니다. 1부 빨리 끝내고 2부 들으러 가야겠습니다 ㅋㅋ 추가로JPA 이후에 계획하고 계신 강의가 있을까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
생성 메서드 setter 질문
entity에는 Setter가 존재하면 안된다는 글을 많이 보았습니다. 때문에 생성자를 통해서만 entity가 만들어지도록 샘플프로젝트를 만들어왔었는데요. 물론 교육이라 setter를 사용하신다고 생각하는데요 실무에서 setter를 entity 내 만들어쓰시는지 생성자를 통해서 해결하시는지 또는 private 처리로 생성 메서드만 노출하는지 궁금합니다. 연관관계 편의 메서드와 생성 메서드 예를 들어주실수 있으실까요? 감사합니다~
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
(해결완료) Unsupported connection setting "MVCC" 에러나오시는분 참고하세요
전에 1번 완강했었는데다시 반복 강의 들을때 문제생겨서 올립니다. 3시반30분의 삽질끝에..결국 찾아낸 ㅠㅠ저같은 분이 없으시길.. 이러한 에러가 나오실거에요.. [ 사진 크게 보시려면 아래처럼 마우스 오른쪽키 ] [ 새 탭에서 이미지 열기 ] --------------------------------------------------------- 2.1.9버전까지는 잘됬었습니다 그런데 이번에 2.1.10버전이 나왔더군요.. 그걸 모르고 그냥 이전처럼 맨뒤에 버전으로 받아서 했더니.,. 후... 2.1.10버전은 안됩니다.. 2.1.9버전 이하로 하시면 잘됩니다..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 메서드 질문
예제에서는 Entity에 Setter가 존재하여 Entity class 내에 set이 가능했지만... 강의에서 강조했듯이 Setter를 제거하고 DTO를 사용을 하게된다면 연관관계 메서드는 DTO내에 존재하게 되는건가요? 아니면 생성자나 builder를 통해서 set 하게 되는걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OneToOne 관계 질문
안녕하세요 선생님 좋은 강의 너무나 감사드립니다. 다름이 아니고 강좌 듣는도중 궁금한 부분이 있어 질문드립니다. 이전 강의 "도메인 모델과 테이블 설계" 강좌와 이번 강좌내용에서 ORDERS와 DELIVERY는 OneToOne 단방향 매핑이라고 이해를 하였는데 [그림1] - 엔티티 클래스 개발1 강의 내용중 회원엔티티 분석 설계도중 일부 [그림2] - 도메인과 모델과 테이블 설계 강의 내용 강의 29분경 실제 엔티티를 설계하는 부분에선 mappedby를 사용하여 OneToOne 양방향 매핑한거 같아 질문드립니다. [그림3] Order 엔티티 [그림4] Delivery 엔티티 아직 학생인데 선생님 덕분에 JPA를 쓰는 회사로 취업하고싶네요. 좋은 강좌 정말 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문내역 생성 메서드 위치
선생님 왜 주문내역은 OrderService를 만들어서 save() 메소드에 적지 않고 Order에 직접 적어주는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 도중 에러 발생
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > No tests found for given includes: [jpabook.jpashop.MemberRepositoryTest](filter.includeTestsMatching) * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 4s 테스트 맴버 실행 도중에 위와 같은 오류가 발생하였습니다. 뭐가 문제인걸까요? ㅠ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
DTO 변환 시 우아한형제들은 어떻게 처리하시나요?
샘플에서 DTO는 생략하셔서 아쉽습니다. DTO 변환으로 modelmapper나 mapstruct 정도 쓰는것같습니다.물론 mapper 없이도 하시는것 같던데요. 우아한형제들은 mapper에 대한 고견이 어떠신지 매우 궁금합니다!~