단방향으로 코드를 짜도 Lazy 로딩으로 바꿔야하나요??
미해결
실전! 스프링 데이터 JPA
양방향으로 코드를 짤때 Lazy로 바꿔야하는건 이유를 아는데 단방향일때는 굳이 안바꿔도 되지 않을까 생각이 들어 질문합니다.
- java
- spring
- spring-boot
- jpa
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
실전! 스프링 데이터 JPA
양방향으로 코드를 짤때 Lazy로 바꿔야하는건 이유를 아는데 단방향일때는 굳이 안바꿔도 되지 않을까 생각이 들어 질문합니다.
해결됨
Slack 클론 코딩[백엔드 with NestJS + TypeORM]
안녕하세요. 프로젝트를 배포하는 과정에서 왜인지 모를 CORS 에러가 계속 생겨서 질문 드립니다. CORS 문제를 해결하기 위해서는 응답 헤더에 Acess-Control-Allow-Origin 이 필요한데, nestjs 와 같은 was에서 enableCors 를 설정해주거나, Nginx 의 server 블럭에 add_header 를 통해서 헤더를 추가 해 줄 수 있는 것으로 알고 있습니다. 웹 서버가 was보다 앞에 있으니까 웹 서버에서 설정해줘야겠다는 생각에 nginx.conf 에 allowed_origin 은 동적으로 Access-Control-Allow-Origin 헤더의 값을 받기 위해서 설정해뒀습니다. 이렇게 작성하고 reload 를 해줬는데, 왜인지 응답헤더에 추가한 헤더가 생기지 않습니다... 테스트 서버에 위와 같은 설정으로 올렸을 때는 잘 해결됐는데 라이브에 올리니까 이런 문제가 발생하는데 어디를 살펴봐야 할 지 모르겠습니다... access to XMLHttpRequest at '도메인 주소' from origin '서버 ip' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 이런식으로 404에러가 나옵니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 모든 테이블에 깔리는 createdBy, lastModifiedBy 값들의 경우 실제로는 member 테이블의 id(pk) 값일텐데요. @MappedSuperClass를 사용하면 테이블 매핑이 된 상태가 아니라 @ManyToOne 등이 불가한데, 실무에서는 외래키 제약조건을 어떻게 주로 처리하셨을까요?
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이런식으로뜹니다. 자바 버전은 17 동일하게 쓰고 있습니다
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요, 이전 강의의 MEMBER (id, username으로 구성된 테이블) 까지는 잘 생성이 되었는데 [엔티티 클래스 개발] 부터 DB가 업데이트 되지 않는 것 같습니다. 개발 환경 특이사항 스프링부트 3.3 / JUnit5 현재 문제 상황 애플리케이션 실행 시 Started Application까지 문제 없이 실행된 이후 쿼리가 찍히지 않음 DB에는 변동이 없음 (MEMBER는 이전에 생성했던 테이블) 질문 전 확인 완료 사항 프로젝트 처음 생성 시 생성되는 Application 클래스의 패키지 하위에 엔티티 클래스들이 위치함 h2로 테이블 생성이 안됩니다. ddl-auto 옵션이 create로 설정되어 있음 h2 테이블 생성이 안됩니다 application.yml의 들여쓰기를 확인함 h2 데이터베이스 테이블 생성이 안됩니다. DB url을 정확히 입력함 확인 부탁 드립니다. 감사합니다!
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cmd가서 종료한다음 다시 실행햇는데도 안되어서 질문 드려요
미해결
실전! Querydsl
@Test public void paging2() { QueryResults queryResults = queryFactory . selectFrom(member) .orderBy(member.username.desc()) . offset(1) .limit(2) .fetchResults(); assertThat(queryResults.getTotal()).isEqualTo(4); assertThat(queryResults.getLimit()).isEqualTo(2); assertThat(queryResults.getOffset()).isEqualTo(1); assertThat(queryResults.getResults().size()).isEqualTo(2); } 여기코드에서 queryResults 의 size 가 2인이유는 4/2인건가요? 3/2인건가요? offset이 1부터 시작인데 1부터 시작해야되는건지 0부터 시작해야되는건지 잘모르겠습니다.. 1부터 시작인데 왜 전체 개수가 4개인지도 의문이고 참고로 member에는 4개가 저장되어있습니다.
해결됨
김영한의 실전 자바 - 중급 1편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 기본형 타입에 불변을 씌우고 기능을 탑재하여 새로운 객체를 만들어내는것을 래퍼 클래스라고 이해했는데 그렇게 생각하면 char로 하여금 String 클래스도 래퍼 클래스로 들어가는거라고 봐도 될까요? 기본형의 불변과 기능을 추가해서 객체로 만들었는게 똑같은데
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
강의 중 종종 나오는 "커멘드"가 어떤 의미를 뜻하는지 궁금합니다. 사전에 나오는 뜻 그대로를 의미하시는건지요..
미해결
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요. 열심히 강의 따라가고 있었는데, 실수로 작업하던 소스파일을 삭제했습니다. 복구할 방법이 없어서 그러는데 혹시 git 리파지토리 소스나, 아니면 교육용 백업본이라도 있으면 주실 수 있을까요?
미해결
김영한의 실전 자바 - 중급 2편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 직접 구현 하는 컬렉션 코드는 실제 내부 구현과 유사하게 구현하시는건가요? 예를 들면 배열 리스트에서 capacity를 넘어서 데이터를 추가 시에 기존 배열의 50% 정도 증가하는 방법을 사용한다고 pdf에 나와있는데 이런 부분들이 실제 구현과 같은지 궁금합니다.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1.프로젝트 환경설정 파일의 MemberRepositoryTest 파일의 import 부분이 강사님의 구조와 달라요!
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 듣는중간에 실행 시켰는데 오류가 나오네요 섹션3까지는 문제없이 잘 됐습니다. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-05-26 21:37:17.517 ERROR 12508 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.6.jar:2.7.6] at com.group.libraryapp.LibraryAppApplication.main(LibraryAppApplication.java:10) ~[main/:na] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.24.jar:5.3.24] ... 21 common frames omitted Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.24.jar:5.3.24] ... 35 common frames omitted Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.3.24.jar:5.3.24] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:171) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:123) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.24.jar:5.3.24] ... 36 common frames omitted Process finished with exit code 1 그리고 yml도 좀 이상합니다
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 듣는중간에 실행 시켰는데 오류가 나오네요 섹션3까지는 문제없이 잘 됐습니다. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-05-26 21:37:17.517 ERROR 12508 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.6.jar:2.7.6] at com.group.libraryapp.LibraryAppApplication.main(LibraryAppApplication.java:10) ~[main/:na] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.24.jar:5.3.24] ... 21 common frames omitted Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.24.jar:5.3.24] ... 35 common frames omitted Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.3.24.jar:5.3.24] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:171) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:123) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.24.jar:5.3.24] ... 36 common frames omitted Process finished with exit code 1 그리고 yml도 좀 이상합니다
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
안녕하세요. scanner 공부하면서 궁금증이 생겨서 질문 하게 되었습니다. Scanner input=new Scanner(System.in); int option= input.nextInt(); 위의 코드가 enter를 해결해주지 못하기 때문에 input.nextLine()을 사용하셔서 해결하신다고 하셨는데 이 부분이 잘 이해가 되지 않아서 질문드립니다. 앞 전의 강의를 통해서 제가 이해한 input.nextLine()의 용도는 사용자가 입력한 한 줄의 문자를 가져오는 역할라고 이해했습니다. 그런데, input.nextLine()이 enter의 역할로도 사용할 수 있는건가요? 그런데, 햇갈리는 부분은 아래 부분(수량, 상품가격)에서는 input.nextLine()을 추가로 사용하지 않고 input.nextInt()만 사용해도 문제가 없는데, 왜 input.nextLine(); System.out.print("상품명:"); String name=input.nextLine(); 이 부분에서는 필요한지 잘 모르겠습니다. input.nextLine(); 의 역할에 대해 알려주시면 감사하겠습니다^^
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] [1. 일대다 조인] em.createQuery("select m from Team t join t.members m" , Member.class).getResultList(); Member이 N이고 Team이 1일 때 일대다 조인으로 JPQL 쿼리를 Member만 조회되게 작성하면 Member 뿐만 아니라 Team까지 동시에 조회되는 것을 확인할 수 있었습니다. [2. 다대일 조인] em.createQuery("select m from Member m join m.team t" , Member.class).getResultList(); em.createQuery("select t from Member m join m.team t" , Team.class).getResultList(); 위와 같이 다대일 조인에선 제가 원하던대로 Member 조회 시 Member에 대한 조회 쿼리만 나가고 Team 조회 시 Team에 대한 조회 쿼리만 나가는 것을 확인할 수 있었습니다. [핵심 질문] 다대일로 조인할 때는 제가 지정한 객체만 조회되는 것을 알 수 있었습니다. 왜 일대다로 조인할 때는 [1.일대다 조인] 처럼 Member 뿐만 아니라 Team 까지 덩달아 조회되는 건지 궁금합니다 ! ※ 테스트는 전부 지연 로딩으로 진행하였고, [1. 일대다 조인] 에서의 결과는 즉시 로딩과 지연 로딩 상관 없이 같은 결과가 나왔습니다. ※ 각 테스트 간 독립성 확보를 위해 em.flush() , em.clear()로 영속성 컨텍스트를 깨끗하게 하면서 진행하였습니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
@Entity @Getter @Setter public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToOne(mappedBy = "parent") private Child child; public void addChild(Child child) { this.child = child; child.setParent(this); } } @Entity @Getter @Setter public class Child { @Id @GeneratedValue private Long id; private String name; @OneToOne @JoinColumn(name = "parent_id") private Parent parent; } 1. Parent와 child코드가 위와 같을 때 아래 코드에서 에러가 발생하는 이유는 양방향 매핑인데 child를 insert하지 않으니 Parent에 있는 child가 없는 것이 되므로 에러가 발생하는 것이 맞나요? Parent parent = new Parent(); Child child = new Child(); parent.addChild(child); em.persist(parent); ------------------------------------------------------------------------------- 2. mappedBy가 양방향 연관관계를 맺어주는 건데 단순히 아래와 같이 Parent에 있는 mappedBy를 없애면 단방향 연관관계로 바뀌는 건가요? (아래와 같이 단순히 mappedBy만 없앤 것과 child를 없앤것은 똑같이 단방향을 의미하게 되는 건가요?) public class Parent { @Id @GeneratedValue private Long id; private String name; // // mappedBy 만 없다면 이것도 child -> Parent 단방향이 되는 건가요? 아니라면 이 코드는 무슨 의미가 되는 코드인가요? @OneToOne private Child child; public void addChild(Child child) { this.child = child; child.setParent(this); } } public class Parent { @Id @GeneratedValue private Long id; private String name; public void addChild(Child child) { this.child = child; child.setParent(this); } } ------------------------------------------------------------------------------- @Entity @Getter @Setter public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToOne(mappedBy = "parent", fetch = FetchType.LAZY) private Child child; public void addChild(Child child) { this.child = child; child.setParent(this); } } @Entity @Getter @Setter public class Child { @Id @GeneratedValue private Long id; private String name; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id") private Parent parent; public void addChild(Child child) { this.child = child; child.setParent(this); } } 3. 위의 코드와 같이 Parent, Child에 둘 다 fetch = FetchType.LAZY를 안하면 아래코드 실행시 join이 발생하는데 왜 발생하는 건가요? (Parent를 조회하는 것이니 Child에 LAZY를 해주어서 child를 조회하지 않게 한다는 것은 이해가 되는데 왜 Parent에도 LAZY를 해주어야 하나요? Parent의 @OneToOne이 EAGER라고 해도 Parent 조회하는 것만 EAGER이니 Parent에는 LAZY를 안해도 되것 같은데 왜 LAZY를 해주어야 하는지 궁금합니다.) Parent parent = new Parent(); Child child = new Child(); parent.addChild(child); em.persist(parent); em.persist(child); em.flush(); em.clear(); Parent findParent = em.find(Parent.class, parent.getId()); ------------------------------------------------------------------------------- 4. 3번 질문 코드에서 em.find() 때 쿼리를 보면 select parent와 select child를 하는데 select child 쿼리는 왜 나가는 건가요? LAZY로 동작하지 않고 EAGER로 동작하는 것 같은데 왜 그런건가요? ------------------------------------------------------------------------------- @Entity @Getter @Setter public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToOne(mappedBy = "parent", fetch = FetchType.LAZY, cascade = CascadeType.ALL) private Child child; public void addChild(Child child) { this.child = child; child.setParent(this); } } @Entity @Getter @Setter public class Child { @Id @GeneratedValue private Long id; private String name; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id") private Parent parent; public void addChild(Child child) { this.child = child; child.setParent(this); } } 5. 강의에서와 같이 리스트인 child를 삭제하려면 findParent.getChildList().remove(0); 과 같이 하는데, @OneToOne의 경우에는 어떻게 하면 되나요? 아래와 같이 Parent의 child 값을 null로 만든 뒤에 remove를 하면 delete 쿼리가 나가는데 이렇게 하면 될까요? 혹시 다른 좋은 방법이 있을까요? Child child1 = findParent.getChild(); findParent.setChild(null); em.remove(child1); 그리고 아래 코드와 같이 하면 삭제가 왜 안되는 건가요? Parent findParent = em.find(Parent.class, parent.getId()); em.remove(child);
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 제가 강사님 강의를 듣고 강의 부분에 없는 카테고리 부분을 테스트 해보았는데요 https://drive.google.com/file/d/1ahr-kGf3jim0rx8vVzROBz_Qk_DchCSi/view?usp=sharing 테스트시 초록색표시로 통과는 됐는데 막상 테스트 db로 접속해서 (테스트코드에 transactional commit 어노테이션했습니다). 보려니 테스트 디비로 들어가지지 않습니다 ㅜ 테스트 디비로 들어가는 방법을 잊어서 어떻게 들어가서 확인을 해야하는지 모르겠는데 방법 가르쳐주실 수 있을까요?
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] window로 libs파일 명까지 왔는데 java -jar hello-spring-0.0.1-SNAPSHOT.jar 하니깐 오류가 떠요 왜 실행이 안될까요 도와주세요ㅠ 자바 버전은 이렇습니다.
미해결
스프링과 JPA 기반 웹 애플리케이션 개발
[로그인 로그아웃] 강의까지 수강했는데 도저히 막막해서 고민하다가 답답한 마음에 올립니다. 홈-가입-정보입력-로그인 눌러도 정보가 나타나지 않고 로그인/가입도 프로필/알림 이런 게 아예 안 뜹니다. 그리고 로그인탭을 누르면 우리가 만든 로그인 폼이 아니라 시큐리티 로그인으로 이동하고, 시큐리티 로그인을 해도 시큐리티 로그인화면이 localhost:8080/login으로 나올 뿐입니다. 로그인이 잘 돼서 로그인/가입이 프로필/알림 등으로 잘 보일 수 있도록 코드 어떻게 수정하면 좋을지 도와주세요. 가장 마지막까지 작성한 코드입니다. [로그인로그아웃 13:20]까지 수강했습니다. https://drive.google.com/file/d/1D3FexWWHLE0SZrdumtZVRmuqJFP5Atl6/view?usp=sharing