inflearn logo
강의

Khóa học

Chia sẻ kiến thức

JPA & Dữ liệu Spring Khái niệm cơ bản về JPA

JPA 실무 @Entity을 @Embeddable 대체하는 경우가 많은가요?

553

ahngunc0881

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

0

안녕하세요.

실무에서 JPA 적용하여 프로젝트를 처음 진행하고 있습니다.

제가 몰랐던 부분을 강의를 듣다 알게 되어 문의 드립니다.

 

저는 DB Table에 해당하는 class를 만들고 @Entity 정의를 통해 매핑한다고 생각했는데

Table에 1:1 대응하는 class는 필요하겠지만 모든 class에 @Entity 정의를 할 필요는 없는것으로 이해했습니다.

많은 테이블이 밸류매핑으로 처리가 가능할 것 같아서요

(ex. User - UserDetail Table 같이 master-detail 관계 같은 경우.)

14번째 강의 예제인 user - membership_card 테이블의 경우도 @Entity 대신 @Embeddable를 사용해도 될 것 같고

user - best_pick Table 의 경우는 Entity 매핑을 하는 편이 어울릴 것으로 보여집니다.

 

1.위 내용처럼 실무에서 밸류매핑이 가능한 class의 경우 @Embeddable 어노테이션으로 정의하여 사용하는 경우가 많은 건가요?

 

2.관계에 따라 동일한 Table이 밸류 매핑 또는 엔티티 매핑으로 해야할 경우는 없는 걸까요?

(User Table에 대응하는 user class가 엔티티가 되고 UserDetail Table에 대응하는 userDetail class가 @Embeddable 가 될 경우

user - best_pick 관계에서 best_pick class에서 user class를 참조 할때 엔티티 매핑 외에 밸류 매핑을 할 수 있는 방법이 있을까요? 이미 user class는 엔티티인 상황인데 @Embeddable 정의를 통해 매핑을 다시 맺을 수 있는 것인지 헷갈리네요.. ㅜㅜ

 

정확한 이해를 위하여 문의 드렸습니다.

더불어 좋은 강의 감사합니다!! :)

spring jpa

Câu trả lời 1

0

madvirus0123

@Embeddable은 값(Value)를 표현하는 모델을 매핑할 때 주로 사용합니다.

실무에서 @Embeddable을 잘 활용할수록 모델이 풍부해지죠.

이 값 모델을 잘 활용한다는 것은 그 만큼 조직/개인의 모델 방식/역량하고도 연결이 됩니다.

그래서 조직/개인이 모델을 설계 결과물에 따라 사용하는 비율이 달라집니다.

 

동일한 테이블을 밸류로도, 엔티티로도 매핑한다는 것은

누군가에게는 엔티티인데, 누군가에는 밸류라는 얘기로 들립니다.

명령 모델과 조회 모델을 나눠서 구현하면 그럴 가능성이 있다고 생각합니다(CQRS).

명령 모델에서는 엔티티엔데, 조회 모델에서는 밸류라던가 하는 식으로요.

 

안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..

0

17

1

실무 내용 문의드려요

0

26

2

join에대해 질문드립니다.

0

19

1

코드 질문

0

25

1

To-Do App

0

27

1

twitterdb 연결이 안돼요

1

30

2

SingletonService가 JVM이 뜰 때 생성되는게 맞나요?

0

35

2

임포트 오류

0

34

2

답을언제쯤받아볼수있나요

0

49

2

형 책 어떻게 받아?

1

59

1

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

33

2

mvc 패턴 - 적용 강의에서 회원가입할 때 redirect가 아닌 forward인 이유가 궁금합니다.

0

29

1

프로젝트가 없어요..

0

56

2

JpaCursorItemReader의 정렬 조건 부재의 영향

1

46

2

changeTeam 메서드 질문

0

35

1

"컴파일 시점에 없는 값을 어떻게 참조할 것인가?" 섹션

1

53

2

테스트 관련 질문!

0

56

2

git 링크 안들어가져요 404에러

0

478

1

JoinColumn 질문

0

456

1

1:N 매핑과 해당 방식 차이가 뭔가요?

0

524

2

10강 3:37 질문

0

331

1

7강에서 SecondaryTable을 왜 사용하지 모르겠습니다.

0

649

1

도메인과 JPA 엔티티

0

811

1

상속 관계 엔티티 로직을 분기처리 하는 법?

0

365

1