inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Lập trình JPA tiêu chuẩn Java ORM - Cơ bản

Kiểu nhúng

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

432

jjunhwan

22 câu hỏi đã được viết

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

Câu trả lời 1

1

jjunhwan

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

해결했습니당!

Entity 동등성 비교

0

5

1

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

0

41

1

H2데이터베이스 파일 생성

0

51

2

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

0

49

2

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

0

48

1

JPQL 메소드와 락

0

52

1

Delivery @OneToOne

0

57

1

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

0

89

2

UnsupportedOperationException 발생

0

82

3

H2 Database 연결이 안됩니다.

0

89

2

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

0

82

2

h2데이터베이스 실행오류

0

105

2

persistence.xml

0

103

2

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

0

77

1

영속성 컨텍스트

0

62

1

JPA 프록시

0

90

1

Native Query와 MyBatis

0

63

1

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

0

83

1

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

0

112

3

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

0

90

3

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

0

106

2

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

0

136

1

양방향 연관관계 시 연관관계 주인을 설정하는 이유

0

68

1

임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.

0

95

1