홈화면과 레이아웃 강의에서 css적용이 안되길래 방법을 찾아보다가 out폴더 삭제 후 reload disk를 하면된다는 글을 보고 out폴더를 삭제했는데 아예 error page가 뜹니다ㅜㅜ 원래는 css적용만 안되는 오류였는데 아예 실행이 안되네요.. out폴더를 되돌릴 수가 없어서 방법이 있을까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1. 안녕하세요!! 수업을 들으면서 생긴 궁금증인데 Member랑 Orders가 1:N 관계로 양방향으로 매핑이 되어 있자나요. 그럼 Members 객체를 호출해서 SQL문을 날리면 Orders List관련 SQL문은 따로 안날리고 나중에 Orders에 접근할때 SQL을 날리는 방식이 지연 로딩 방식인건가요?? 연관된 객체 탐색이 쉽다는 이유로 연관 매핑을 막 사용하면 안되고 진짜 필요할 때만 사용하라는 말이 있더라고요. 조회 기능 같은 경우에는 (CQRS) 별도 모델을 만들어서 구현하라는 말을 들었는데, 이번 강의처럼 모든 테이블 사이에 연관관계를 매핑 해줘도 되는건가요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? [질문 내용] 안녕하세요. 강의와 자료를 병행해서 보다가 질문이 있어 문의드립니다. 우선적으로 https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-JPA-%EC%8B%A4%EC%A0%84&unitId=28020&tab=community&category=questionDetail&q=723744 해당 내용을 읽어보았는데도 이해가 되질 않아 문의드리게 된 점 양해부탁드립니다 ㅜ 해당 내용처럼 저도 application.yml 내 use_sql_comments: true 를 추가 쿼리문을 확인하였을 때 forCounting=false /* select count(m) from Member m where m.username = :username */ select count(member0_.id) as col_0_0_ from member member0_ where member0_.username='member1'; forCounting=true /* memberRepository.findByUsername */ select count(member0_.id) as col_0_0_ from member member0_ where member0_.username='member1'; 위와 같은 결과를 반환받았는데 어떤 차이가 있는지 잘모르겠습니다 ㅜ 어떤 의도를 말씀하시는지 잘모르겠습니다 ㅜ
안녕하세요. 강의 잘 듣고 있습니다. access token 생성중에 에러가 생겨서 진행이 안되고 있어 문의드립니다. 해당 부분에서 secret 임이의 문자열을 ES512 알로리즘 방식을 적용할 때 아래와 같은 에러가 발생합니다. Key bytes may only be specified for HMAC signatures. If using RSA or Elliptic Curve, use the signWith(SignatureAlgorithm, Key) method instead. ES256을 적용도 해보고 여러 시도를 해봤는데 동일한 에러가 발생하네요. 제가 실수한 부분이 있을까요? 참고로 yml 설정은 강사님과 동일하게 맞췄습니다. 조언 부탁드려요! ============================== 원인을 찾았습니다. HS512로 적용해야하는데 ES512로 적용했네요. ㅎㅎ ES512는 임의의 문자열을 알고리즘으로 변환을 못해 에러가 발생했는데 자세히는 모르겠네요. 아시는 분 있으면 답글 부탁드립니다.ㅎㅎ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] casecade로 persist를 한번에 진행하는데 이제 각자 등록해야 된다면(cascade이 애매하게 느껴진다면) public void save(Order order){ em.persist(order.getOrderItem()) em.persist(order.getDelivery()) em.persist(order.getMember()) em.persist(order); 이런식으로 persist를 진행하면 되는걸까요?
안녕하세요. 하나의 엔티티가 두 개 이상의 상위 엔티티에 속하는 경우 어떻게 구현해야 하는지 질문드립니다. 예를 들어서 사과라는 엔티티가 과일에도 속하고 음식에도 속한다고 했을 때, DB에서는 사과엔티티를 과일테이블과 음식테이블이라는 두 개의 싱글테이블의 행으로 표현할 수 있지만 객체모델링에서는 사과가 반드시 하나의 엔티티 클래스를 상속해야하기 때문에 어떻게 모델링해야 하는지 모르겠습니다. 감사합니다.
안녕하세요. 강의를 들으면서 코드를 실행하다가 막힌 부분이 있어 질문드립니다. 특정 도구에서 사용하면 서버가 실행이 되지 않습니다. 인텔리제이 터미널에서 실행한 경우 에러가 발생합니다. PS C:\workplace\user-service> mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=9003' -e [INFO] Error stacktraces are turned on. [INFO] Scanning for projects... [INFO] [INFO] ----------------------< com.example:user-service >---------------------- [INFO] Building user-service 0.0.1-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.326 s [INFO] Finished at: 2023-06-27T21:49:08+09:00 [INFO] ------------------------------------------------------------------------ [ERROR] Unknown lifecycle phase ".run.jvmArguments=-Dserver.port=9003". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. A vailable lifecycle phases are: pre-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, ge nerate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. -> [Help 1] org.apache.maven.lifecycle.LifecyclePhaseNotFoundException: Unknown lifecycle phase ".run.jvmArguments=-Dserver.port=9003". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-i d>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: pre-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-clas ses, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateLifecycleMappings (DefaultLifecycleExecutionPlanCalculator.java:225) at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateMojoExecutions (DefaultLifecycleExecutionPlanCalculator.java:197) at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan (DefaultLifecycleExecutionPlanCalculator.java:119) at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan (DefaultLifecycleExecutionPlanCalculator.java:135) at org.apache.maven.lifecycle.internal.builder.BuilderCommon.resolveBuildPlan (BuilderCommon.java:93) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:100) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283) at org.apache.maven.cli.MavenCli.main (MavenCli.java:206) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348) [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException PowerShell에서 실행한 경우 에러가 발생합니다. PS C:\workplace\user-service> java -jar -Dserver.port=9004 .\target\user-service-0.0.1-SNAPSHOT.jar Error: Unable to access jarfile .port=9004 ※ PowerShell에서 실행한 명령어를 명령 프롬프트에서 실행하면 정상작동됩니다. 감사합니다.
안녕하세요. DiscriminatorColumn, DiscriminatorValue 를 이용하여 DTYPE을 자동으로 insert하는 기능이 참 편리해보이는데요. 만약에 예시에 나온 Item의 관리가 객체 이름이 아닌 일련의 문자열 ItemCode로 이루어진다면, 그리고 ItemCode를 DB 등에 따로 저장하여 사용하고 있다면 DiscriminatorValue에 그 값을 넣어줄 수 있는 방법이 있을까요? 만약 DB에서 조회하는 것이 불가능하다면 DB가 아니라 코드로 정의를 해놓는다면(Enum등으로) 참조값을 넣어줄 수는 있을까요? 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 김영한님 안녕하세요. JPA 사용중에 부모 엔티티의 Respository 로 저장시 자식 엔티티의 영속성 전이 문제가 있어 질문 남깁니다. 상황은 다음과 같습니다. 게시판과 게시판의 댓글을 하나의 애그리거트로 보고 게시판(루트 애그리더트)을 통해 댓글을 작성하려고 합니다. 댓글의 게시판 칼럼을 세팅하고 게시판의 repository로 save 하게 되면 댓글이 영속성 상태가 되지 않습니다. 근데 게시판 내부에 있는 댓글 리스트에 추가된 신규 댓글을 영속성 상태입니다. (영속성 상태 여부는 id 값 존재 여부로 판단했습니다.) 위 캡쳐에서 board 의 commentList의 인덱스가 4인 BoardComment 를 보시면 id가 7로 세팅 되어 있지만, boardComment 의 id는 null 로 되어 있습니다. 그래서 물어보고 싶은건 다음과 같습니다. 위 상황에서 boardComment 의 id 가 7(null 이 아닌)이 될 수 있는 방법 댓글 조회/수정/삭제에서 DDD 를 적용했을때의 로직 DDD 에 맞게 루트 애그리거트를 통한 CRUD 를 만들려고 하다보니 이런 질문을 하게 되었습니다. 이 문제의 전체코드는 https://github.com/SongHae8640/community 이고, 위 테스트 코드는 https://github.com/SongHae8640/community/blob/master/src/test/java/com/example/community/domain/board/comment/BoardCommentTest.java 입니다. 확인 부탁드립니다. 감사합니다.
변경감지를 통해서 데이터들을 업데이트하려고 하는데요. 그 중에 외래키도 업데이트를 시키려고 하는데 변경감지로 잡히지가 않아서요. 외래키는 변경감지에 안걸리나요? 아래 예제입니다. class Team () { String teamName; @ManyToOne() @JoinColumn(name = "MEBER_SEQ") Member member; } Member newMember = new Member(); team.setMember(newMember);
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] MemberRepositoryTest.java 위 코드에서 테스트 진행했을 때, select 쿼리가 로그에 찍히고 있습니다. select 쿼리가 로그에 찍히는 이유를 알 수 있을까요? ( 강의 중 19:20 - 19:30 에 select 쿼리가 안 찍히는 게 정상이라고 하셔서 질문 드립니다. ) 아래는 application.yml 파일입니다. 아래는 select 쿼리가 찍힌 로그 입니다. 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 안녕하세요 질문 드리고 싶은건 팀과 멤버 엔티티를 DB에 저장하기 위한 상황입니다. 한번의 save 코드로 두번의 INSERT 쿼리를 내보내겠습니다. 팀 save, 멤버 save (멤버 ManyToOne) 팀.add멤버(멤버) 후 팀 save (팀 OneToMany, 멤버 ManyToOne) 멤버.set팀(팀) 후 멤버 save (멤버 ManyToOne) 이런 3가지 방법이 가능할 것 같습니다. 3번의 경우에는 멤버에만 @ManyToOne으로 관계지정하고 cascade = CascadeType.ALL 옵션을 추가해서 팀에도 쿼리가 발생하게 되는데요 이런 예시(Case. 3)가 웹에는 흔하지 않다는게 의문입니다. 만약 cascade 옵션을 이렇게 사용해선 안되는 것인지. (자식엔티티로 부모 엔티티를 관여하는) 혹은 권장되는 방식인지. 또 여러개의 테이블이 산재된 현업에서 어떤 방식이 권장되는지. 이때 판단 기준은 어때야 하는지 궁금합니다. 혹시 이런 내용을 책에서 다루고 있거나, 다른 강의에서 다루고 있다면 추천해주시면 구입해서 공부하고 싶습니다. 항상 학생들을 위해 힘써주시고 좋은 강의 만들어주셔서 감사합니다.
JpashopApplication 실행 시 다음과 같은 에러가 발생합니다.. Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.domain.OrderItem] 본 파일에서는 삭제했는데 이전에 MemberRepositoryTest 실행 시에도 같은 에러가 발생해서 @GeneratedValue에 옵션설정을 추가했더니 @GeneratedValue(strategy = GenerationType.IDENTITY) 작동이 되더라구요. 이번에도 다 넣어줘야 하는건지 아니면 다른 이유 때문인지 궁금하여 글 남깁니다. 압축파일 링크 입니다. https://drive.google.com/file/d/1Uj__VLj3glPm6Uor6-Gyr6dX2i8kOQcc/view?usp=share_link 감사합니다 ^^
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @Test(expected = IllegalStateException.class) public void 중복_회원_예외() throws Exception{ //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); memberService.join(member2); //then } } Junit5로 적용 시키고 싶어서 아래와 같이 테스트 코드를 작성했는데, 잘 작성한게 맞나요? 혹시 더 좋은 BestPractice가 있다면, 알려주시면 감사하겠습니다. @Test public void 중복_회원_예외() throws Exception{ //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); //then assertThrows(IllegalStateException.class, () -> {memberService.join(member2);}); } }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의를 수강 후 엔티티대신 DTO를 서비스에서 사용해야하는지 의문이 생겼습니다. controller 에서는 엔티티형태로 반환해서도 파라미터로 받아서도 안되는것을 이해했습니다. service 에서는 화면으로 보여지기 전에 controller 에서 DTO 형태로 가공할 수 있기 때문에 service 에서는 엔티티형태로 반환하고 파라미터로 받아도 되나요? 1번이 아니라면 service 에서 DTO를 사용해야하는 경우나 안사용해도 되는 경우나 약간의 가이드를 주시면 감사하겠습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 질문은 아니지만 해결방법이 안 올라온 것 같아 올립니다. 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 강의 초반에 Member 클래스를 만들고 DB연결, 테이블 생성까지 했는데 메인메서드를 실행하면 NoSuchMethodError 오류가 나는 경우가 있습니다. 커뮤니티 게시판을 찾아봤는데 질문은 있고 답변은 없는 것 같아 해결방법 공유합니다. 저같은 경우는 h2버전과 스프링 부트 버전이 맞지 않아 그런 줄 알고 h2와 스프링 부트 버전을 달리해가며 설정해봤는데 알고보니 hibernate 버전 충돌 문제인 것 같습니다. pom.xml파일에서 <!-- JPA 하이버네이트 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version> 5.6.15.Final </version> </dependency> 로 하이버네이트 의존성 설정을 해주면 인텔리제이가 자동으로 하이버네이트 라이브러리를 다운받는데 이때 hibernate-commons-annotations의 버전과 hibernate-core의 버전이 호환되지 않는 경우가 있는 것 같습니다. 저는 처음에 hibernate-commons-annotations 버전이 5.0.4, hibernate-core가 5.6.15 final로 되어있었는데 의존성 설정 갱신 이후 hibernate-commons-annotations 버전이 5.1.2 final로 바뀌며 정상 실행 됐습니다. 인텔리제이가 충돌하는 라이브러리를 다운받기도 하는 것 같습니다.