inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

실전 예제 5 - 연관관계 관리

프록시 단원에서 말씀하신 프록시 객체와 실제 객체

185

gusdn85554

작성한 질문수 47

0

안녕하세요 강사님 

질문에 앞서 토이 프로젝트 진행 중에 회원 정보 수정에서 트랜잭션을 사용하지 않아 이틀 동안 고민했다가 해결했습니다.. 

두 번째 날에 이거 진짜 답이 없다 생각했는데 그 순간 영한님이 말씀해주신 JPA는 트랜잭션 단위로 돌아간다는 말씀이 떠올라서 해결했습니다..

별 게 아닐 수 있지만 이제 저에게는 JPA == 트랜잭션 단위 를 잊을 수가 없게 됐습니다.. 

가르침에 감사하다는 말씀드리고 싶었습니다 !

=================================

이제 질문입니다!!

프록시 강의 부분에서 프록시 객체와 실제 객체에 구애받지 않는 코드를 작성하는 것이 좋다라고 말씀해주셨습니다.

프록시가 Member를 상속하는데 당연히 코드를 작성하면서 어느 누가 프록시를 사용한다고 해놓을까? 이런 생각이 들면서.. 혹시 둘의 차이로 인해 생긴 버그를 하나 예로 들을 수 있을까요??

처음에 듣고 너무 궁금해서 질문을 올리려 했는데,  강의 끝 부분에 말씀해주실 것 같아서 아껴놨다가 해당 챕터를 다 듣고 난 뒤에 질문드립니다!!

물론 구글링을 해봤지만 제가 원하는 답을 찾지 못했습니다..

java JPA

답변 2

0

gusdn85554

답변 감사합니다 !

0

김영한

안녕하세요. gusdn85554님

좋은 개발자에게 꼭 필요한 끝까지 물고 늘어지는 덕목이 있으시군요^^

여기서 말씀드린 내용은 일반적인 내용입니다. 생각하신 것 처럼 상속과 다형성이 적용되기 때문에 일반적으로 문제가 발생하지는 않습니다.

만약 클래스 이름을 확인해서 프록시인 경우에 특수한 동작한다고 코드를 작성한다면, 향후 하이버네이트가 프록시 기술 구현체를 변경하게 되면 문제가 발생할 수 있습니다.

감사합니다.

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

0

54

2

inheritance startegy 선택시 고려사항

0

35

1

Entity 동등성 비교

0

37

1

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

0

64

1

H2데이터베이스 파일 생성

0

73

2

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

0

66

2

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

0

62

1

JPQL 메소드와 락

0

62

1

Delivery @OneToOne

0

68

1

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

0

104

2

UnsupportedOperationException 발생

0

94

3

H2 Database 연결이 안됩니다.

0

100

2

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

0

92

2

h2데이터베이스 실행오류

0

113

2

persistence.xml

0

119

2

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

0

87

1

영속성 컨텍스트

0

74

1

JPA 프록시

0

105

1

Native Query와 MyBatis

0

81

1

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

0

96

1

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

0

125

3

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

0

100

3

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

0

112

2

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

0

151

1