강의에서 보면 연관관계의 주인은 일대다 관계 중 다에 해당하는 Member클래스입니다. 주인이 Member클래스이기 때문에 해당 연관관계 편의 메서드는 다음과 같이 Member클래스에 정의합니다. public void setTeam(Team team) { this.team = team; team.getMembers().add(this); } Team클래스인 경우 일대다 중 일에 해당하는 클래스입니다. 여기선 연관관계 편의 메서드를 사용하지 않습니다. 이렇게 이해하면 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 처음에는 book.getStockQuantity()가 10일것이라 예상하였고, db에서 다시 조회해야 8일것이라 생각했습니다. 8인 이유는 book.getStockQuantity()를 할때 영속성 컨텍스트의 1차 캐시에서 조회해오기 때문에 8인건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 해당 로그가 뜨면서(exit code 1) Member테이블에 insert가 되지 않습니다. h2 데이터베이스를 1.4.200 버전으로 사용해보기도 했으나 그대로입니다. 아래는 실행 로그입니다. /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=50548:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /Users/kjh/study/ex1-hello-jpa/target/classes:/Users/kjh/.m2/repository/org/hibernate/hibernate-entitymanager/5.3.10.Final/hibernate-entitymanager-5.3.10.Final.jar:/Users/kjh/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/Users/kjh/.m2/repository/org/hibernate/hibernate-core/5.3.10.Final/hibernate-core-5.3.10.Final.jar:/Users/kjh/.m2/repository/org/javassist/javassist/3.23.2-GA/javassist-3.23.2-GA.jar:/Users/kjh/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar:/Users/kjh/.m2/repository/org/jboss/jandex/2.0.5.Final/jandex-2.0.5.Final.jar:/Users/kjh/.m2/repository/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar:/Users/kjh/.m2/repository/org/dom4j/dom4j/2.1.1/dom4j-2.1.1.jar:/Users/kjh/.m2/repository/org/hibernate/common/hibernate-commons-annotations/5.0.4.Final/hibernate-commons-annotations-5.0.4.Final.jar:/Users/kjh/.m2/repository/javax/persistence/javax.persistence-api/2.2/javax.persistence-api-2.2.jar:/Users/kjh/.m2/repository/net/bytebuddy/byte-buddy/1.9.5/byte-buddy-1.9.5.jar:/Users/kjh/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.1.1.Final/jboss-transaction-api_1.2_spec-1.1.1.Final.jar:/Users/kjh/.m2/repository/org/hibernate/orm/hibernate-core/6.5.2.Final/hibernate-core-6.5.2.Final.jar:/Users/kjh/.m2/repository/jakarta/persistence/jakarta.persistence-api/3.1.0/jakarta.persistence-api-3.1.0.jar:/Users/kjh/.m2/repository/jakarta/transaction/jakarta.transaction-api/2.0.1/jakarta.transaction-api-2.0.1.jar:/Users/kjh/.m2/repository/io/smallrye/jandex/3.1.2/jandex-3.1.2.jar:/Users/kjh/.m2/repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar:/Users/kjh/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/4.0.0/jakarta.xml.bind-api-4.0.0.jar:/Users/kjh/.m2/repository/jakarta/activation/jakarta.activation-api/2.1.0/jakarta.activation-api-2.1.0.jar:/Users/kjh/.m2/repository/org/glassfish/jaxb/jaxb-runtime/4.0.2/jaxb-runtime-4.0.2.jar:/Users/kjh/.m2/repository/org/glassfish/jaxb/jaxb-core/4.0.2/jaxb-core-4.0.2.jar:/Users/kjh/.m2/repository/org/eclipse/angus/angus-activation/2.0.0/angus-activation-2.0.0.jar:/Users/kjh/.m2/repository/org/glassfish/jaxb/txw2/4.0.2/txw2-4.0.2.jar:/Users/kjh/.m2/repository/com/sun/istack/istack-commons-runtime/4.1.1/istack-commons-runtime-4.1.1.jar:/Users/kjh/.m2/repository/jakarta/inject/jakarta.inject-api/2.0.1/jakarta.inject-api-2.0.1.jar:/Users/kjh/.m2/repository/org/antlr/antlr4-runtime/4.13.0/antlr4-runtime-4.13.0.jar:/Users/kjh/.m2/repository/com/h2database/h2/2.3.230/h2-2.3.230.jar hellojpa.JpaMain 7월 31, 2024 5:33:00 오후 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation INFO: HHH000204: Processing PersistenceUnitInfo [ name: hello ...] 7월 31, 2024 5:33:01 오후 org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {5.3.10.Final} 7월 31, 2024 5:33:01 오후 org.hibernate.cfg.Environment <clinit> INFO: HHH000206: hibernate.properties not found Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43) at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:86) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:212) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:174) at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:76) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119) at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:61) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:50) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at hellojpa.JpaMain.main(JpaMain.java:11) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ... 12 more Process finished with exit code 1
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] findCookie() 메서드에서 String cookieName으로 SESSION_COOKIE_NAME = "mySessionId"; 위의 상수를 받고있는 상황으로써 모든 사용자의 cookieName은 전부 "mySessionId"이 됩니다. return Arrays.stream(cookies).filter (cookie -> cookie.getName().equals(cookieName)).findAny().orElse(null); 위 코드에서 cookie.getName().equals(cookieName)).findAny() 이 부분을 보게되면 쿠키의 이름과 cookiename이 동일한 것중에서 무작위로 하나를 return하게 됩니다. 앞서 cookieName은 전부 mySessionId인 것을 알 수 있습니다. 이럴경우 서로다른 무작위의 사용자가 쿠키를 통해 세션 로그인을 하였을 때 sessionStore.get(sessionCookie.getValue() 위 코드로 member 객체를 특정 짓게 되므로, 반드시 나의 회원 정보를 찾는 것이 아닌 타인의 회원정보를 반환할 수 있는 것이 아닌가 의문이 듭니다. 인턴AI가 아닌 사람이 직접 답해주시길 바랍니다.
안녕하세요. 스레드 강의를 듣던 중에 만들고 싶은 프로그램이 생겨서 질문 드립니다. 스크랩 데몬 프로그램을 만들려고 하는데 DB에서 url 리스트를 조회하고 리스트를 스레드 갯수만큼 분할한 뒤 멀티 스레드를 활용해서 각 스레드에서 스크랩을 하고 DB에 저장 한 뒤 잠시 sleep 위를 무한 반복하는 역할을 합니다. lombok, logging, dev, prod.yml config 등 springboot의 편리함을 사용하고 싶고 gradle을 활용하여 멀티 모듈로 작성할 계획인데 (DAC: JPA를 사용하는 역할은 따로 분리, infra mailling 등 분리) spring-boot-starter만 web 없이 사용해서 구현하려고 했더니 마땅히 작성할 위치가 보이지 않아 일단 ApplicationRunner를 구현하고 작성하였는데 문제는 build 시에 ApplicationRunner를 springboot가 실행하여서 무한 반복에 빠져서 빌드가 완료가 안됩니다. 이를 환경변 수 등을 이용해서 피할 수는 있겠으나 이러다보니 springboot에 작성하는게 잘못된건가 싶기도하고 그냥 쌩 자바 프로그램으로 하는게 맞을까요? 선생님이시라면 어떻게 구현을 하실지 의견 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] section3. 스프링 메시지 소스 활용 을 수강하던 중 @SpringBootTest 가 붙은 클래스 테스트를 실행하였는데, 아래와 같은 오류가 발생합니다. 테스트가 무시되었습니다. java.lang.TypeNotPresentException: Type org.springframework.test.context.junit.jupiter.SpringExtension not present https://github.com/mtak0235/TIL/tree/main/spring/item-service
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. gradlew build 라고 안치고 gradlew만 입력했을때 BUILD SUCCESSFUL 이라고 나왔습니다 이 문구 뜨고 gradlew build 입력하면 위와 같은 에러가 뜹니다.. 이 에러가 뜨긴 했는데 디렉토리는 생성이 되었고 java -jar () 하면 위처럼 잘 빌드된것처럼 spring이 나옵니다.. 그냥 계속 실습 진행해도 괜찮은걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 가장 egov 4.2버전으로 처음부터 다시 하고있는데 namespace 항목이 없습니다. 어노테이션에러 해결어떻게 해야할까요.. 현재 pom.xml에 아래 디펜던시 추가해봣는데도 안됩니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) 계속 빌드 오류가 나서 아래처럼 뜹니다.. 프로젝트를 지웠다가 다시 생성해봐도 똑같이 뜨는데 어떻게 해결할수있을까요ㅜ Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details > Task :test HelloSpringApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at PluginLoader.java:85 Caused by: java.lang.IllegalStateException at DefaultMockitoPlugins.java:105 Caused by: java.lang.reflect.InvocationTargetException at Constructor.java:499 Caused by: org.mockito.exceptions.base.MockitoInitializationException at InlineDelegateByteBuddyMockMaker.java:260 Caused by: java.lang.IllegalArgumentException at InstrumentationImpl.java:-2 1 test completed, 1 failed > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/Users/%EB%AC%B8%EC%9D%B4%ED%98%84/Desktop/study/hello-spring/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 55s 7 actionable tasks: 7 executed ////////////////////////// 참고로 자바 버전은 17입니다 인텔리제이 내에서 자바 버전도 17로 동일하고 gradle 설정도 인텔리제이로 다 맞춰놨습니다
강사님 설명 열심히 듣고 있는 수강생입니다. 예제를 따라 하다 보니 제 환경에서는 안되는 부분이 있어서 확인해보았습니다. 저는 pydantic 2.8.2를 사용하고 있더군요 pydantic 2.8.2에서는 dict() 메소드가 더 이상 사용되지 않으며 대신 model_dump()를 사용 한다고 합니다 from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): # Pydantic 모델 정의 name: str price: float is_offer: bool = None @app.post("/items/") def create_item(item: Item): #return {"item": item.dict()} # Pydantic v2.x부터 dict()->model_dump()로 변경 return {"item": item.model_dump()} # Pydantic 모델을 API에 사용 사용 버전에 따라 다른 것 같아서 혹시나 올려봅니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] build.gradle 에서 implementation 'org.springframework.boot:spring-boot-starter-web' 를 넣고 실행 했을 때는 오류가 나고 지우고 실행하니깐 정상적으로 작동하는데 그 이유가 뭔가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] DiscountService에서 작성한 if문, swich문 변경 가능하다고 하여 작성해보았는데, 이렇게 사용하는게 맞는지 맞다면 좋은 코드인지 궁금합니다.
5:20 즈음에 AnimalMethod.bigger(cat, dog) 가 타입 추론이 불가능해 문제가 된다고 하셨는데, Cat과 Dog의 공통 조상인 Animal로 타입 추론이 되는 것 같아서 이게 맞는지 확인차 질문드립니다. Animal animal = AnimalMethod.bigger(cat, dog);