어떤 툴을 (버전까지..) 사용하셔서 다이어그램을 그렸는지 궁금하고 또 3가지 다이어그램이 각각 어떤 다이어그램인지 종류별로 알려주시면 감사하겠습니다... 제가 프로젝트 만들기전에 StarUML 5.1 버전로 구체적으로 그려보려고 하는데, 김영한 선생님이 그린것과는 다른느낌으로 그려져서 이게 클래스 다이어그램인지, 오브젝트 다이어그램인지 엔티티다이어그램인지 도통 모르겠어요ㅜ 1번) 2번 3번)
H2 DB에 테이블도 생기고 테스트 모두 완료 후(강의시간 20분 정도 모두 완료) cmd에서 gradlew clean build하니 테스트 모두 오류 뜨면서 localhost 8082도 연결도 끊겼고 intellij에서도 access 됐던 테스트가 모두 되지 않는 상태입니다. intellij에서는 현재 이런 오류가 발생하며 코드는 모두 강의자료에서 복붙해둔 상태고 Junit5 사용중입니다.
안녕하세요! 강의 섹션1 h2 데이터베이스 설치 관련해서 따라하던중 오류가 발생해 문의글남깁니다. 지난 입문편 강의를 들을때 h2 데이터베이스를 잘 활용했고 이번에 jpa강의를 들으며 h2 데이터베이스를 생성하고 있는데 연결이 안되는 문제가 발생했습니다. 우선, 저는 스프링부트 3버전으로 진행을 하고 있어 입문편 강의록에서 안내해주신대로 h2 2.1.214버전으로 진행중입니다. 윈도우 사용자라 h2.bat파일을 실행하고, h2 console이 열린 다음에 url을 localhost로 변경하고 JDBC URL에 jdbc:h2:~/jpashop을 입력하고 연결하기를 눌렀더니 아래와 같은 에러가 발생합니다. 관련 디렉토리를 찾지 못해서 발생하는 에러라고 생각되어 해당 경로인 C:/Users/user에 jpashop이라는 폴더를 만들어 다시 실행해봐도 결과는 똑같았습니다. 또한, 해당 jpashop 폴더가 저희 프로젝트 폴더의 경로와 동일해야하나하는 의문이 들어 제 프로젝트 파일은 E드라이브에 있는데, 프로젝트 폴더를 옮겨야하나.. 하는 의문이 들기도 합니다. 경로 설정 문제인듯한데 적절한 해결책을 알려주시면 대단히 감사하겠습니다 .. 저는 환경설정이 너무 어려워요 ㅠ.ㅠ 하하... https://abcdefgh123123.tistory.com/331 이글 보고 해결했습니당 참고하세요 다들!
패치 조인시 연관된 엔티티를 한번에 조회 하는 걸로 이해했습니다. 근데 LAZY 가 아닌 EAGER 로 연관관계를 했을 경우도 한번에 가져오는 걸로 아는데, String query = "SELECT t FROM Team t JOIN t.members "; List<Team> resultList = em.createQuery(query, Team.class) .getResultList(); for(Team team: resultList){ System.out.println("team : " + team.getName() + ", member size = : " +team.getMemberList().size()); } 위에 코드를 실행했을 경우, EAGER로 연관관계 설정을 해서 패치 조인과 같이 한번에 조회 될거라고 생각되었는데, 그렇치 안더라구요. 이유를 알 수 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의를 수강중에 영속성 컨텍스트의 도움을 받을 수 없는 준영속 상태일때 프록시를 초기화 하면 해당 예외가 나온다고 들었습니다. 강의 중에는 나중에 개발하다가 이런 에러를 만나면 지금 말한걸 생각해주시면 된다 까지만 말씀해주셨는데요.. ㅎ 사실 제가 저 에러메세지를 해결못하고 있던차에 지금 강의를 수강한거라 그 해답이 궁금합니다. 혹시 강의의 부분이 could not initialize proxy 에러를 해결하는데 도움이 될까요? JPA기본편 강의 내용이 아니어도 좋습니다. 영한님 강의중에 이 부분을 실제 개발하시며 다루시는 부분이 있는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] entity로 반환 후에 DTO에 맵핑하는 방식이 쯤 더 효과적인지 아니면 DTO프로젝션으로 진행하는게 효과적인지가 궁금합니다. 아니면 상황에 따라서 적절하게 쓰는게 좋다면 어떠한 상황인지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요, 강의를 듣다 궁금한게 생겨 질문드립니다..! '/filter?price=중저가라인,고가라인'처럼 url로 넘어온 price인자 String을 ,단위로 쪼개 List에 넣은 뒤 쿼리를 짜기를 원합니다. 현재 select * from table where price = '중저가라인' or price = '고가라인'; 과 같은 쿼리를 원합니다. 여기서 고가라인이 동적으로 조건에 포함될 수도 있고 안될 수도 있는 상황입니다. 어떤식의 로직이 필요한지 설명을 부탁드려도 될까요?
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 이렇게 사용해도, 하나의 도메인에 여러 Builder Fixture가 생기게 될까요? public class Fixture { public static ProductBuilder aProduct() { return Product.builder() .productNumber("001") .name("아메리카노") .price(1000) .type(ProductType.HANDMADE) .sellingStatus(ProductSellingStatus.SELLING); } } final LocalDateTime registeredDate = LocalDateTime.now(); final Product product1 = createProduct(ProductType.HANDMADE, "001", 1000); final Product product2 = createProduct(ProductType.HANDMADE, "002", 3000); final Product product3 = createProduct(ProductType.HANDMADE, "003", 5000); final Product product4 = Fixture.aProduct().productNumber("004").price(7000).build();
답변 없으셔서 다시 남깁니다. 영속성 컨텍스트 2 강의의 약 7분 쯤 em.find를 2번하게 되어도 1차캐시 조회에 의해 쿼리문이 한번만 출력된다고 하셨는데 저는 2번 출력되네요.. 문제가 뭘까요 https://drive.google.com/drive/folders/1rLlWTlGVWyFRoL-HXbvyWREnpHBC7OBe?usp=sharing 추가로 질문이 하나 더 있는데 강의에서는 JPAMain 자바 파일의 try문을 수행하면 db에 바로 저장이 되는데 저는 저장이 안됩니다. 이것도 한번 확인 부탁드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요! 불변 객체를 공부하다 궁굼점이 생겨 문의드립니다. 부작용 차단을 위한 불변 제약을 두는 대신 Member.class public void setAddress(Address address) { this.address = new Address(address); } Address.class public Address(Address address) { this.city = address.city; this.street = address.street; this.zipcode = address.zipcode; } 와 같이 항상 새로운 객체를 생성하여 할당하는 방식을 사용한다면 값 변경에도 자유로울 수 있을 것 같은데 문제될 수 있는 부분이 있을까요?
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
제가 이클립스를 사용하고 있는데 JdbcTemplate 에서 오류가 나요,, build.gradle파일에서 아래와 같이 의존성 설정도 했습니다.. 구글링을 해봐도 잘모르겠어서 여쭤봅니다ㅜ... implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'mysql:mysql-connector-java'
안녕하세요! 좋은 강의 감사드립니다. 많은 도움이 되었어요. 한 가지 궁금한 점이 있는데요. 실무를 하면서 개발용 DB에 이미 다른 테스트용 row 가 저장되어 있을 때 tearDown으로 deleteAllInBatch 를 사용하게 되면 해당 테스트에서 추가된 데이터뿐만 아니라 모든 데이터가 전부 삭제되는 것으로 알고 있는데 이러한 상황을 원치 않는다면 직접 하나하나 수동 삭제해 주거나 Transactional 롤백을 사용하고 계신지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니오 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오 [질문 내용] 안녕하세요. 정확히 강의 내용과 일치하는 내용은 아니지만 JPA 를 공부하다 궁금한 부분이 생겨 질문드립니다. save() 와 saveAndFlush() 의 차이점은 saveAndFlush() 시에는 즉시 DB 로 flush 가 일어나 DB 에 변경내역이 동기화되는 차이가 있는 것으로 알고 있습니다. 하지만 그렇다고 해서 commit 이 일어난 것은 아니기 때문에 다른 트랜잭션에서 변경된 내용을 확인할 수 있는 것도 아닐 것 같습니다. (READ UNCOMMIT 격리수준이 아니라면) 변경된 내역을 확인 가능한 곳은 같은 트랜잭션에 한정된 부분이라면 굳이 flush 를 하지 않아도 1차캐시와 쓰기지연저장소에서 확인이 가능한 부분일 것 같은데 saveAndFlush() 를 왜 사용해야 하는 것인지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강의 잘 듣고 있습니다. 강의를 듣다가 궁금증이 생겨 질문 드립니다. 양방향 연관관계의 설정이 언제 필요할지 생각을 해보았는데 게시글과 댓글의 일대 다 관계에서 게시글을 조회할때 댓글이 같이 조회되는것을 원하는 경우가 있을 것 같습니다. 그렇다면 이전강의에 말씀하셨던 무한 루프(?)에 빠질 수 있을 것 같은데요. 아마 이걸 순환참조라고 말한다고 알고 있습니다. 그러면 애초에 댓글은 댓글대로 따로 조회하고 게시글을 조회할때 댓글 조회하는 방식 즉 연관관계의 주인이 아닌곳에서 리스트를 조회하려고 하는 방식은 안쓰는것이 좋은것인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, cascade 설정과정에서 궁굼증이 생겨 문의드립니다. 부모 객체와 자식객체 양쪽다 CascadeType. ALL 옵션을 주고, 부모쪽에 orphanRemoval = true 옵션을 준 상태에서 Parent parent = new Parent(); Child child = new Child(); Child child2 = new Child(); parent.addChild(child); parent.addChild(child2); Team findParent = em.find(Parent.class, 1L); findParent.getChild().remove(0); 와 같이 진행 했을때, child가 삭제됨 child가 삭제되며 cascade 옵션에 의해 부모인 team을 삭제함 team을 삭제하기 전 cascade 옵션에 의해 자식에 포함된 child를 모두 삭제함 team이 삭제됨 이렇게 이해했고 실제로 parent, child, child2 모두 삭제 되었습니다. 그런데 Parent parent = new Parent(); Child child = new Child(); Child child2 = new Child(); Child child3 = new Child(); ... Child childN = new Child(); parent.addChild(child); parent.addChild(child2); parent.addChild(child3); ... parent.addChild(childN); Team findParent = em.find(Parent.class, 1L); findParent.getChild().remove(0); 이렇게 자식을 3개 이상 넣어줬을경우 자식객체 2개만 삭제(remove에 넣어주는 index에 따라 2개 삭제될 자식이 결정됨)되고 나머지 자식과 부모는 남아있는걸로 확인되는데... 어떤 매커니즘때문에 이런 현상이 나오는걸까요?..
Error creating bean with name 'entityManagerFactory' Could not determine recommended JdbcType for toyProject1.board.domain.Member 요런 에러가 떠서 계속 구글링을 해보았는데 저는 제가 작성한 Member 엔티티에서 문제를 못찾겠어요ㅠㅠㅠ 연관관계 매핑도 일대다로 잘한 것 같은데,,, 정말 귀찮으시겠지만 제발 한번만 봐주세요ㅠㅠㅠㅠ 삽질중입니다..... https://drive.google.com/file/d/1ylrcAJFzmTZM8FXjzw_lVCM0zWiyRt9-/view?usp=sharing