묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2.bat 실행이 안됩니다.
C:\study\H2\bin 폴더 하위의 배치 파일을 실행하려고 하니 이런식으로 오류가 납니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath 에러
질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 경로에 잘못된 부분이 없는 것 같은데 뭐가 문제일까요..ㅜㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
orderList메서드 동작 중 orderSearch관련해서 질문 드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]타임리프 orderSearch에 값들을 폼에서 동적으로 만들면은 /orders?memberName=홍길동&orderStatus=ORDER 이런식으로 자동으로 다시 매핑 후 이후 orderSearch에 값이 들어있는 상태로 findOrders를 수행하게 되는 흐름 같은데 동적으로 다시 orderList메서드를 타고 들어가는 흐름이 이해가 되지 않아 질문드립니다. post방식이나 이런 것이 아니라 자동으로 이렇게 orderSearch에 값을 담아 처리할 수 있는 원리가 무엇인가요? 아니면 혹시 mvc패턴에 대한 내용인 것 같아서 mvc강의 중에 해당 내용에 대해 알 수 있는 강의가 있을까요? 본지가 조금 되어가지구 까먹은 것 같기도 합니다..!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JpashopApplicationTests 실행 시 에러
JpashopApplicationTests 함수 실행 시 아래와 같은 에러가 발생합니다... 이유를 모르겠습니다.
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
oauth 회원가입 시 필수 추가 정보는 어떤 식으로 받으시나요?
안녕하세요! 우선 강의 정말 잘 보고있습니다. 강의를 들으며 프로젝트에 적용 중인데 궁금한 점이 있어 질문드립니다.oauth 회원가입 시 리소스 서버에서 받은 수 없는 필수 추가 정보는 어떤 식으로 받으시나요?예: 사용자 혈액형, 학교 등.. (회원가입에 필수 정보라 가정)
-
미해결코드로 배우는 React with 스프링부트 API서버
moveToList를 만들때 질문이 있습니다.
const moveToList = () => { navigate({ pathname: "../list", search: queryDefault }); };이걸 했을때 어떻게 http://localhost:3000/todo/read/13이주소에서 http://localhost:3000/todo/list로 바뀌는 건가요?..을 지워버리니까 http://localhost:3000/list로 바뀌어서 에러가 나더라고요 ../를 디렉토리처럼 한단계 전으로 돌아가는 걸로 이해하려고 해도 13의 한단계 전이나까 그럼 http://localhost:3000/todo/read/list 이게 되어야 하는것 같은데 ../가 어떤 뜻이길래 http://localhost:3000/todo/read/13로 제대로 나오는 건가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
순환참조
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://drive.google.com/file/d/1EDUWv_GFWyZqOXpXsSuGvkU_ovDC8SWA/view?usp=drive_link순환 참조가 일어납니다. 어떤 구조로 왜 일어나는 지 모르겠습니다.
-
미해결코드로 배우는 React with 스프링부트 API서버
register 할때 formatter가 언제 적용이 되는 건가요?
json으로 date 파라미터를 보낼때 자동으로 변환 되서 들어간다는 건가요??
-
미해결코드로 배우는 React with 스프링부트 API서버
testUpdate를 하실때 질문이 있습니다.
강의에서는 명시적으로 todoRepository.save(todo);를 해주셨는데 어떤 강의에서는 더티체킹으로 업데이트를 하는게 좋다고 하는 말을 들었습니다. 보통 실무에서는 어떤 방식을 더 선호하나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강의가 올라온지 5년이지났는데
너무 잘 알려주셔서 열심히 듣고있는데 이제 강의가 처음 올라온 날짜가 2019년도잖아요?그러면 이제 5년이 지난건데 그 사이에 변경된 점들은 특별히 없을까요?강사님이 요즘은 주로 이렇게 씁니다 라고 하셔서 그렇구나 하다가 강의의 요즘이 2019년이라는 생각에 질문글 남겨봅니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
강의 결제 했습니다!
믿고 듣는 김영한 강사님 강의! 최근에 구매한 김영한 강사님 강의 다 듣고 이것도 열심히 들을게요!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
pom.xml 작성 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]2024 버전 최근 소스코드를 복붙해서 javax 부분도 jakarta로 변경했는데 빨간 글자 부분에서 막혀서 어찌해야 할 지 모르겠네요ㅠ
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
TransactionManager 로깅 정보
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]DataSourceTransactionManager의 로그에는 사용되고 있는 커넥션의 정보(conn0)가 잘나오는데 JpaTransactionManager 에서는 커넥션 로그는 확인 못하나요 ?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계에서 양쪽에 값 설정 관련
순수 객체 상태를 고려하면 멤버의 팀을 A -> B로 변경한다고 했을 때, 팀 B에 멤버를 추가하는 것 뿐만 아니라 팀 A에서 멤버를 제거하는 작업도 동시에 해줘야 하는거 아닌가요..?public void changeTeam(Team team) { this.getTeam().getMembers().remove(this); this.team = team; team.getMembers().add(this); }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 오류
Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1806) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at app//org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) at app//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at app//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) at app//org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) at app//org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:954) at app//org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) at app//org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) at app//org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) at app//org.springframework.boot.SpringApplication.run(SpringApplication.java:335) at app//org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) at app//org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) at app//org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) at app//org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1463) at app//org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) at app//org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) at app//org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) at app//org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) at app//org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at app//org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at app//org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:276) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at app//org.hibernate.boot.model.relational.Database.<init>(Database.java:45) at app//org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:221) at app//org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:189) at app//org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:171) at app//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1431) at app//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1502) at app//org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1802) ... 32 moreCaused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:191) at app//org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:87) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentWithDefaults(JdbcEnvironmentInitiator.java:152) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:362) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:123) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:77) at app//org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ... 47 more 에러가 길어서 하나만 붙였습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
fetch join
[질문 내용]강의를 보면 즉시로딩을 사용하면 값을 다 가져오기는 하나N+1의 영향 때문에 그걸 막아주려고 사용하는게fetch join인 것으로 이해하는데요 만약 이게 맞다면강의 를 봣을때 즉시로딩을 사용하지말고 무조건 지연로딩만사용 해야 한다면 fetch join은 즉시로딩을 쓸때만 쓰는거니프로젝트를 할때에는 즉시로딩이 필요가 없으니 사용 할 필요가 없는건가요?
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
서비스 레이어의 단위 테스트 범위 고민
테스트 중에 고민되는 부분이 생겨서 문의드립니다.A서비스의 a()메서드에서 B서비스의 b()메서드를 호출하고 있고, B서비스의 b()메서드에 대한 단위 테스트가 이미 완료된 상황을 예시로 들겠습니다. 이미 b()메서드에 대한 테스트는 끝났으니, A서비스 단위 테스트 시 a()가 b()를 호출해서 생기는 결과에 대해서는 따로 검증이 필요하지 않을까요? 저는 b()를 호출하는 것까지가 a()의 책임이기 때문에 a()를 테스트하려면 b() 호출에 따른 검증 과정도 필요하다고 생각됩니다.하지만 이 경우 여러개를 의존하는 클래스에 대한 테스트 시, assertThat()과 같은 검증 코드 및 테스트 코드가 뚱뚱해지는 일이 발생합니다.혹은 테스트 시 a()에서 B서비스의 b()를 호출했는 지에 대해 Mock라이브러리의 verified를 통해 검증 가능한 것으로 알고있는데, 모키토 같은 외부 라이브러리를 사용하지 않고 테스트를 작성하고 싶어 고민됩니다. 결국 A서비스를 단위 테스트할 때 어디까지 테스트하는 것이 적절한 책임 분배?인지 알고 싶습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
버전이 달라도 진행하는데 큰 차이가 있을까요?
안녕하세요 이제 막 섹션2 들어갔습니다.저는 3.3.3버전을 사용하려 하는데 강의에선 2.4 대 버전을 사용하여 진행하시는데 큰 차이가 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
고아객체 질문입니다.
안녕하세요. 섹션 9-3 질문입니다.고아 객체 주의할 점에 특정 엔터가 개인 소유할 때 사용하는 것인데, 개인 소유가 아니고 다른 엔티티가 참조할 때 문제가 있나요? 예를 들어 부모 엔터티를 삭제하면 고아객체인 자식 엔터티도 삭제가 될 텐데 어차피 삭제할 때 자식 엔터티의 id(pk)를 보고 삭제를 할텐데 다른 엔터티가 참조해도 영향이 없지 않나요? 감사합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
TransactionManager 주입
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 6:32 에서단순 테스트 코드이고 jpa 사용하지않았는데 JpaTransactionManager 가 주입 되는 이유는 먼가요 ?