inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 ORM 표준 JPA 프로그래밍 - 기본편

임베디드 타입

임베디드타입이 엔티티를 갖도록 하는 것 질문드립니다.

434

잠꾸

작성한 질문수 22

0

강의 15분쯤에 임베디드타입이 엔티티를 가질 수 있다고 하는 부분이 나와서 실습 해보려는데 잘 안되서 문의드립니다.

Address 임베디드 타입에 Person 이라는 Entitiy를 가지도록 하려고 하는데요. Address는 Member Entitiy에 속해있구요.

아래처럼 실행하면 에러가 나네요. 

Exception in thread "main" java.lang.ExceptionInInitializerError

Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on jpabook.start.Member.homeAddress.person references an unknown entity: jpabook.start.Person

Address 에서 Person을 참조할 때 어노테이션을 @OneToOne, @JoinColumn 을 사용하였는데 맞나요?

어쨋든 어노테이션을 빼도 에러가나고 다 에러가 납니다. ㅠㅠ

@Entity
@Table(name="member")
public class Member {
@Id
@Column(name = "id")
private String id;
@Column(name = "name")
private String username;
private Integer age;

@Embedded
private Address homeAddress;

@Embedded
private Period workPeriod;


public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}
}

@Embeddable
public class Address {

private String city;
private String street;
private String zipcode;

@OneToOne
@JoinColumn(name = "person_id")
private Person person;

public String getCity() {
return city;
}

public void setCity(String city) {
this.city = city;
}

public String getStreet() {
return street;
}

public void setStreet(String street) {
this.street = street;
}

public String getZipcode() {
return zipcode;
}

public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}

public Person getPerson() {
return person;
}

public void setPerson(Person person) {
this.person = person;
}
}

@Entity
public class Person {

@Id @GeneratedValue
private Long id;
private String name;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

JPA java

답변 1

1

잠꾸

persistence.xml 에 추가한 Person 클래스를 안써놓아서 에러가 난 것이였네용;

해결했습니당!

벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?

0

28

2

inheritance startegy 선택시 고려사항

0

22

1

Entity 동등성 비교

0

21

1

실무 조언 관련 질문입니다.

0

47

1

H2데이터베이스 파일 생성

0

56

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

53

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

54

1

JPQL 메소드와 락

0

55

1

Delivery @OneToOne

0

60

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

94

2

UnsupportedOperationException 발생

0

86

3

H2 Database 연결이 안됩니다.

0

95

2

연관관계 매핑 질문드립니다.

0

85

2

h2데이터베이스 실행오류

0

108

2

persistence.xml

0

108

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

80

1

영속성 컨텍스트

0

66

1

JPA 프록시

0

96

1

Native Query와 MyBatis

0

70

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

87

1

임베디드 타입 예시 코드 관련 질문

0

115

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

95

3

인텔리제이 패키지 커서 단축키 질문

0

108

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

145

1