월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
em.persist 오류
저만 em에 빨간불이 들어오는데 왜 이러는걸까요,,
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강의 내용 관련 문의드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 강의 내용 관련해서 질문드립니다.Spring boot아닌 Spring 기반으로 JPA 강의 진행인건가요?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
동일성 보장에서 질문있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]동일성 보장에서 들어주신 예시에서 질문이 있습니다.findMember1과 findMember2의 pk값 즉 영속성 컨텍스트에서 객체의 id값이 동일한데, 이때 캐시에 어떻게 저장이되는지 궁금합니다. [ id / 객체 ]형식으로 캐시에 저장된다고 하셨는데,그럼 [101L/findMember1], [101L/findMember2] 이렇게 캐시에 저장이 되는건가요?캐시에 저장되는 Id값이 캐시 조회시 사용되는 주소값인가요?캐시에 저장되는 id 값은 중복을 허용하는건가요?
- 해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
@MappedSuperclass 에 기본키를 명시해도 되나요?
안녕하세요.User, Company class 에서 모두 BasicColumn 을 상속받아 사용할때에둘다 sId 라는 기본키를 가진다고 하면 해당 컬럼도 BasicColumn 내에 작성해도 되는지 궁금합니다!공통된 컬럼을 @MappedSuperclass에 작성할 때에 기본키/외래키에 관계없이 작성해도 되는건가요?User.java@Entity public class User extends BasicColumn { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="S_ID", updatable=false) private Long sId; ... } Company.java@Entity public class Company extends BasicColumn { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="S_ID", updatable=false) private Long sId; ... }BasicColumn.java@MappedSuperclass public abstract class BasicColumn { ...// 이부분에 sId작성 후 User/Company 내에서 제거해도 되나요? }
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
em.remove 관련 질문입니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.em.remove() 사용하면 1차 캐시와 db에 있는 값 둘 다 지워지는 건가요?
- 해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
CASCADE
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의의 부모와 자식의 관계 코드에서 부모가 OneToMany이고 자식이 ManyToOne으로 매핑되고 Many에 연관관계의 주인이 있으므로 자식이 연관관계의 주인으로 보입니다. 이말은 자식을 save만 해도 디비에 부모테이블에 save되고 업데이트 또한 자식만 update해도 부모 테이블에도 update 쿼리가 나가는 것으로 알고있습니다. 그렇다면 부모에 CASCADE.ALL을 해주었을 부모만 영속해도 자식도 연속되는 것으로 보아 부모에게도 연관관계의 주인과 비슷하다고 봐도 될까요?? 즉 서로 연관관계의 주인이 되는 것인가요??
- 해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
jpa 프로그래밍-기본편 (Hello JPA-프로젝트 생성) 강의 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요. 김영한 선생님의 jpa 프로그래밍-기본편 (Hello JPA-프로젝트 생성)강의에서 10:20 쯤에서 pom.xml 작성하는데 자꾸 빨간줄이 떠서 올립니다 ,,링크 올리겠습니다.https://drive.google.com/drive/folders/1K2BpXMt59xgFDv-a_SNS2qz3VLhtHkFT?usp=sharing
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
최신 버전으로 프로젝트 생성하고, JPA 하이버네이트랑 H2 데이터베이스 설정시 하이버네이트 버전 오류가 생겨요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 제가 생성한 Spring은 버전이 3.1.5라h2버전 최신 2.224 버전은 되는데spring 3.1.5버전 하이버네이트6.2.13.Final이 없다고 뜨네요 ㅜ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jpa-basic</groupId> <artifactId>ex1-hello-jpa</artifactId> <version>1.0.0</version> <dependencies> <!-- JPA 하이버네이트 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>6.2.13.Final</version> </dependency> <!-- H2 데이터베이스 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>2.2.224</version> </dependency> </dependencies> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties> </project>어떻게 해야 하는지 모르겠습니다 +) 근데 또 5.6.15.Final은 오류가 안 뜨네요
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
No Persistence provider for EntityManager named hello
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 No Persistence provider for EntityManager named hello라는 에러가 뜨는데요, persistence.xml 경로도 확인해봤고, 캐시 지우고 다시 빌드해도 여전히 persistence-unit name 을 못찾는것 같습니다. xml 파일은 슬라이드 그대로 복사하여 사용 했고, 디펜던시는 조금 다릅니다. 사진과 pom.xml을 첨부합니다. 디펜던시에 추가해야할 것이 있는건지, 아니면 경로를 왜 못찾는 걸까요,,? <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jpa-basic</groupId> <artifactId>ex1-hello-jpa</artifactId> <version>1.0.0</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>6.2.6.Final</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>1.0.0.Final</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.199</version> </dependency> </dependencies> </project> <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello"> <properties> <!-- 필수 속성 --> <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="javax.persistence.jdbc.user" value="sa"/> <property name="javax.persistence.jdbc.password" value=""/> <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <!--<property name="hibernate.hbm2ddl.auto" value="create" />--> </properties> </persistence-unit> </persistence>package hellojpa; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; public class JpaMain { public static void main(String [] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); } }Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named hello at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) at hellojpa.JpaMain.main(JpaMain.java:8)
- 해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL을 사용할 때 질문 있습니다.
현재 저는 MyBatis를 사용하고 있습니다.그래서 xml을 작성할 때 먼저 DB에 쿼리를 작성하고 인덱스를 사용했는지원하는 인덱스가 사용됐는지 등등 EXPLAIN 으로 확인해보고 작성을 합니다. 제가 JPQL을 실무에서 사용해보지 않아서 궁금증입니다.그런데 JPQL로 작성하게 되는 상황이라면 SQL을 작성해보고 -> JPQL로 만드시나요? 아니면 다른 방법을 사용하시는지 궁금합니다.
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
비밀번호 해결 문제입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 비밀번호가 맞지 않는다고 하는데 어떻게 해결하면 좋을까요?? ㅠㅠㅠ
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
스프링부트 2.x버전에서 복합키 매핑 오류 관련 문의
(기존의 질문드렸던 내용https://www.inflearn.com/questions/1022839/%EB%B3%B5%ED%95%A9%ED%82%A4-%EB%81%BC%EB%A6%AC%EC%9D%98-%EB%A7%A4%ED%95%91-%EC%A7%88%EB%AC%B8-%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4의 추가 질문 입니다.) 안녕하세요.항상 좋은 강의감사드립니다! 😉😉현재 회사에서 팀내사용을 목적으로 백엔드 프로젝트를 제작 중인 개발자입니다.기존에 복합키 끼리의 매핑 관련해 질문을 드렸었습니다.해당 부분은 스프링부트 3.x버전으로 진행했는데 이번에 운영목적으로 사용될 서버가 java11까지만 지원해 어쩔 수 없이 java17에서 java11로, 스프링 부트는 3.x에서 2.x버전으로 버전 변경을 진행했습니다. 근데 버전을 변경하고 나서 해당 복합키 매핑 관련진행시org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: referencedColumnNames(company_code) of com.0.0.entity.Contract.company referencing com.0.0entity.Company not mapped to a single property at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) ~[spring-context-5.3.26.jar:5.3.26] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:910) ~[spring-context-5.3.26.jar:5.3.26] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.26.jar:5.3.26] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.10.jar:2.7.10] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.10.jar:2.7.10] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.10.jar:2.7.10] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.10.jar:2.7.10] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.10.jar:2.7.10] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.10.jar:2.7.10] at com.0.0.0.main(DzscrapingStlmApplication.java:10) ~[main/:na]Caused by: org.hibernate.AnnotationException: referencedColumnNames(company_code) of com.0.0.entity.Contract.company referencing com.0.0.entity.Company not mapped to a single property at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:203) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:104) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processEndOfQueue(InFlightMetadataCollectorImpl.java:1750) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processFkSecondPassesInOrder(InFlightMetadataCollectorImpl.java:1694) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1623) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:295) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1460) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1494) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.26.jar:5.3.26] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.26.jar:5.3.26] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.26.jar:5.3.26] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.26.jar:5.3.26] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.26.jar:5.3.26] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.26.jar:5.3.26] ... 16 common frames omitted 이러한 오류가 발생하면서 빌드가 진행되지 않습니다.버전 문제라고 생각한 이유는 코드를 그대로 보존 후(jakarta-> javax import변경) 진행했는데 java17에서는 오류없이 진행되고 java11에서는 위와같은 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: referencedColumnNames(company_code) of com.0.0.entity.Contract.company referencing com.0.0entity.Company not mapped to a single property오류가 발생합니다.해당 오류가 발생하는 원인과 해결방법을 알 수 있을까요? 감사합니다!
- 해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
"그래서 DB에 저장할 객체에는 상속 관계 안쓴다."
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)'SQL 중심적인 개발의 문제점' 강의를 복습하다가 짚고 넘어갈 부분이 생겨 질문드려요.각각의 테이블에 따른 조인 SQL 작성 등 때문에 번잡해서 DB에 저장할 객체에는 상속 관계를 잘 안쓴다고 강의에서 설명하십니다.현재 맥락에서 말하는 상속 관계란 왼쪽 그림과 같은 '객체에서의 상속 관계'를 의미하는 것이 맞겠죠?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
값 타입 컬렉션에서 addressHistory에 대응되는 ADDRESS 테이블에 대해 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]addressHistory의 타입은 List<Address>라서 같은 값을 가진 Address 인스턴스들이 들어갈 수 있는데요. (심지어 동일한 인스턴스들도 중복으로) ADDRESS 테이블에 보시면, 4개의 컬럼들이 있죠.MEMBER_ID(PK, FK)CITY(PK)STREET(PK)ZIPCODE(PK) 여기서 쓰인 PK가 무슨 의미인 지 궁금합니다.여기 4개의 컬럼을 복합키로 사용해서, PK로 사용된다는 의미인가요? JPA가 날리는 쿼리를 봐도 PK로 지정된 컬럼은 없는 것 같습니다.자료 상의 오류인지 아니면 제가 잘 모르는 것이 있는지 궁금합니다.
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
버젼 오류...
h2database 버젼은 동기화했는데도 오류가 뜨네요.. 미치겠어요 ㅠ
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계의 주인... 답변을 부탁드립니다.
연관관계의 주인 개념이 이해되지 않아 판도라의 상자...아니 chatGPT로 확인해보려 했습니다. 뭔가 chatGPT와 대화(?)를 이어가다가 제가 아래와 같이 질문을 던졌어요. 1. 연관관계의 주인이 N:1에서 N쪽이라면 @ManyToOne에 mappedBy를 설정하든, 설정하지 않든 상관 없이 N쪽이 주인이다.2. 반대로 연관관계의 주인이 1쪽이라면 @OneToMany에 반드시 mappedBy를 설정해야 한다.3. 스프링은 개발자가 어떠한 시나리오를 개발자가 가지고 있는지는 알 수 없기 때문에 @ManyToOne, @OneToMany, 및 mappedBy를 어떻게 사용하느냐에 따라 연관관계의 주인이 결정된다. 정말 이해가 안 가서 한 질문이었습니다. (연관관계 매핑을 3번을 들었지만 아직 제가 부족한가봐요…) 그랬더니 대답이 이랬습니다. 1. 맞습니다. 연관 관계의 주인은 대개 연관 관계의 소유자가 되는 엔티티입니다. 따라서 N:1 관계에서 N 쪽이 주인이라면 `@ManyToOne`에 `mappedBy`를 설정하든 말든 상관 없습니다. 그러나 관계의 주인이 명시적으로 지정되면 JPA에서 연관 관계를 관리할 때 더 명확하게 동작할 수 있습니다.2. 맞습니다. 1:N 관계에서 연관 관계의 주인을 1쪽으로 지정할 때 `@OneToMany`에 `mappedBy`를 설정해야 합니다. `@ManyToOne` 쪽에는 주인을 지정할 수 없습니다.3. 맞습니다. 프로그램 자체는 개발자의 의도를 인지할 수 없으며, 연관 관계의 주인을 결정하려면 `@ManyToOne`, `@OneToMany`, 그리고 `mappedBy` 어노테이션을 어떻게 사용했는지를 확인해야 합니다. 이 어노테이션들은 연관 관계의 매핑을 정의하고 어떤 엔티티가 연관 관계의 주인인지 나타냅니다. 따라서 어떻게 설정되었느냐에 따라 연관 관계의 주인이 결정됩니다. chatGPT도 실수할 때가 있어서 3번 정도 물어봤는데 거의 같은 대답을 했습니다. 그리고는 더 이상 대화가 이어지지 않았는데 이 말이 맞는지 아닌지를 아직 모르기 때문입니다. 죄송하지만 chatGPT의 대답을 신뢰해도 될 지 답변을 부탁드립니다.
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
no session관련 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]37분쯤까지 강의 듣고 실습을 해 봤는데 em.close 했을 경우에 예외가 발생하지 않아 커뮤니티 보고 그 이유를 알았습니다. 하지만 또 다른 문제가 생겼습니다. em.detach(xxx)을 하기전에 System.out.println("reference = " + reference.getClass());를 했을 땐 예외가 발생했는데 getClass()를 뺐을 땐 정상작동 합니다. 기 이유가 궁금합니다.Member member1 = new Member(); member1.setUsername("member1"); em.persist(member1); em.flush(); em.clear(); Member reference = em.getReference(Member.class, member1.getId()); System.out.println("reference = " + reference); //getClass()미포함 em.detach(reference); // 예외발생X System.out.println(reference.getUsername()); tx.commit();Member member1 = new Member(); member1.setUsername("member1"); em.persist(member1); em.flush(); em.clear(); Member reference = em.getReference(Member.class, member1.getId()); System.out.println("reference = " + reference.getClass()); //getClass()포함 em.detach(reference); // 예외발생 System.out.println(reference.getUsername()); tx.commit();
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
실행이 되질 않습니다 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.예제들을 돌려볼 수가 없습니다 jdk 문제일까요...? 답변해주시면 감사하겠습니다!
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Page<dto>를 반환하는 api swagger
강의를 듣고 api를 만들고 있습니다. Page<dto>를 반환하는 api를 swagger를 통해 문서화하려고 하니 Page.class만 반환값의 파라미터로 전달되어 Page의 content 내에 무엇이 들어가는지 문서에는 보이지 않더군요. 혹시 swagger를 사용해 페이징 api를 문서화할 때 Page.class의 제네릭타입을 명시할 수 있는 방법이 있을까요?
- 미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
따라하고 싶은데 지금 환경이랑 너무 다른 것 같습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]메이븐 설정또한 지금의 인텔리제이랑 다르고 h2 데이터베이스를 설정하는데도 어려움이 있습니다 .