[질문 내용] 질문 게시판에 있는 비슷한 질문들의 답변에서 나온 웬만한 해결책들을 해봤는데, 여전히 MemberRepositoryTest에서 오류가 나서 질문드립니다. H2도 다시 깔아보고, yml, build.gradle 전부 확인해봤는데 되질 않네요. 이상한건 한번도 오류가 나지 않은 적이 없는데 Member 테이블이 생성은 됐습니다. 그렇지만 데이터가 추가가 되진 않았습니다. 해결 방법이 있을까요? 제 프로젝트를 압축한 파일 링크입니다. 감사합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 재고 감소 증가 로직은 멀티 스레드에 안전한가요? synchronized 키워드를 붙여야 안전할까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 외래키 뺀다는 뜻이 뭔가요? 엔티티 개발할때 어떤식으로하면 외래키가 없어지나요?
안녕하세요. 다름이 아니고 다음과 같이 gradle은 8.4 버전이고 자바는 17버전을 사용하고 있습니다. 자바 17은 gradle 실행, complie할때 등등 모든 부분해서 11이 아닌 17을 사용하고 있음에도 불구하고 지속적으로 저런 에러가 발생해서 질문드렸습니다. intellij를 껏다 켜보기도 하였구요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 도메인 모델 패턴을 사용하면 대부분의 비즈니스 로직이 엔티티에 들어가 있기 때문에, 서비스는 단순히 엔티티에 비즈니스 로직 처리를 위임하게 됩니다. 구글링을 해보니 도메인 모델 패턴의 장점 중 재사용성, 확장성 등 좋은 객체지향의 특성을 대부분 가져가고 있는 것 같아 보이는데요. 실제로 코드를 보면 도메인 모델(엔티티)에 비즈니스 로직이 담겨있고, 엔티티 간의 관계 매핑이 필요하기 때문에 특정 기술에 종속될 수 밖에 없지 않나 생각이 들었습니다. 도메인 모델 패턴이든, 트랜잭션 스크립트 패턴이든 비즈니스 로직을 가지고 있는 쪽은 최대한 순수한 자바 코드로 작성해야 한다고 생각하고 있었는데..Item 엔티티를 예시로 들면 JPA를 사용하여 연관관계 매핑이 되어있어 무수히 많은 애노테이션과 설정들이 들어있습니다. 만약 JPA를 걷어내고 다른 기술을 사용해야 할 경우에는 엔티티 로직에 제법 많은 수정이 필요할 것 같아 보입니다. 비즈니스 로직이 변경되는 경우도 마찬가지구요. 이렇게 저희가 지금 진행하고 있는 예제에서 도메인 모델 패턴이 객체지향을 잘 따르고 있다고 할 수 있는 것인지 긴가민가합니다. 질문이 조금 두서가 없었는데, 결론은 현재 우리의 예제에서 JPA를 사용한 엔티티 객체들을 활용하여 도메인 모델 패턴을 사용할 경우 해당 설계가 객체지향 원칙들을 잘 지키고 있다고 볼 수 있는지? 입니다.
알려주신대로 설정하였고 , 초기 설정을 하였는데 저런 오류가 계속 납니다 자바 sdk는 java17로 설정해두었습니다 오류는 A problem occurred configuring root project 'jpashop'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.6. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.1.6 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.1.6 was found. The consumer was configured to find a library for use during runtime, compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.5' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.1.6 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.1.6 declares a component for use during runtime, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 11) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.1.6 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '8.5') 입니다
package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional public void testMember() throws Exception{ //given Member member = new Member(); member.setUsername("memberA"); //when Long savedId = memberRepository.save(member); Member findMember = memberRepository.find(savedId); //then Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); } } 위에는 제가 작성한 코드고 아래가 오류 내용입니다. 어떻게 해결해야할까요? java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@7971c2a9 testClass = jpabook.jpashop.MemberRepositoryTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@50eac852, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@6a192cfe, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@1dde4cb2, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@42e99e4a, org.springframework.boot.test.context.SpringBootTestAnnotation@5c96f405], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:143) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:127) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:241) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) Caused by: 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 'javax.persistence.jdbc.url', 'hibernate.connection.url', or 'hibernate.dialect')
소스파일 https://drive.google.com/file/d/1Laef4VrgEfQ0--86aUf1ENR9yi4LSwXF/view?usp=sharing 강사님이 하신대로 따라하는 중인데 처음 MemberRepositoryTest를 실행할 경우 테스트가 통과됩니다. 이후 @Rollback(false)를 추가해서 실행할 때부터 에러가 납니다. h2 DB를 삭제하고 처음부터 다시 해봐도 똑같이 처음 한번은 통과하고 그 다음부터 에러가 납니다. 아래는 로그 전문입니다. https://drive.google.com/file/d/1sLImPcsiNvBY04ZOmBWe6fVansFaWWPi/view?usp=sharing
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. h2데이터베이스에 잘 실행이 되는것을 확인했는데 강사님 화면처럼 insert into ~~이런식으로 안떠서 뭐가 문제인건가요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예 항상 강의 잘 보고 있습니다. JPA와 DB설정, 동작확인 강의 중 jar 빌드해서 동작확인 하는 단계에서 Unable to access jarfile jpashop-0.0.1-SNAPSHOT 라고 뜨네요.. 해당 경로에 파일은 있는 것으로 확인되는데 어떻게 해결하면 좋을까요? 감사합니다
강의기준 79번째 줄 ClipboardAssistance()에서 에러가 나는데, 강의에서는 ClipboardAssistance를 사용 시 해당 클래스를 임포트할 수 있도록 도와주는 것 같은데, 위 사진을 보시면 ClipboardAssistance에 대한 Import도 제시해주지 않고 있습니다. 라이브러리 문제인가 싶어 zulu javafx 11버전을 다시 받아 jre 세팅하고 진행해도 저부분만 오류가 납니다. 이유가 궁금합니다. 추가로, 강의에서는 프로젝트의 JRE System library가 JavaSE-1.8이라고 나와있는데, 이게 zulu11이 아니면 Button, HBox, Scene 등 javaFx를 이용하는 많은 부분에서 전부 빨간줄이 뜨는데 어떻게 강의에서는 JavaSE-1.8라이브러리를 사용하면서 빨간줄이 안뜨는지요..? (여기에 제 문제점도 어느정도 관계가 있어 보이기도 합니다..)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 내용을 보면 이렇게 url 자리에 mv.db 파일을 설치할 곳을 쓰라고 하셨는데 이 자리에 스프링 프로젝트 파일의 위치를 넣으면 되는 건가요 jpashop이 프로젝트 이름이어서 여쭤봅니다. 저가 c드라이브에 인텔리제이 프로젝트들을 저장해서 jdbc url 자리에 "jdbc:h2:(c드라이브내 프로젝트 파일 경로)" 를 적고 url이 application.yaml에 있는 spring:data:source:rul과 동일해야 한다 해서 이 자리에도 같은 경로를 집어넣었습니다. 그런데 계속 오류가 납니다. 혹시 어디가 잘못된 것인지 알 수 있을까요