강의

멘토링

로드맵

Inflearn Community Q&A

fkgnssla3487's profile image
fkgnssla3487

asked

Java ORM Standard JPA Programming - Basics

Bidirectional Association and the Owner of Association 2 - Caveats, Summary

영속성 컨텍스트의 1차캐시가 갑자기 헷갈려서 질문이 하나 있습니다.

Written on

·

245

1

Team t = new Team();

em.persist(t);

 

t.setName("teamA");

 

이렇게 영속성 컨텍스트의 1차캐시에 t를 먼저 저장하고 t의 name을 "teamA"로 변경하였을 때 변경되는 것이 맞을까요?

코드로 돌려보니 변경되는 것 같긴한데 그래도 찜찜해서 여쭤봅니다.

변경되는 이유는 1차 캐시에 객체 t 자체가 있는거고 그 객체의 속성이 변경됐으니 1차 캐시에 있는 객체 t도 당연히  변경된 것이다. 맞을까요?

JPAjava

Quiz

객체와 관계형 데이터베이스가 관계를 표현하는 방식의 근본적인 차이는 무엇일까요?

객체는 ID, 테이블은 이름

객체는 참조, 테이블은 외래 키

객체는 속성, 테이블은 레코드

객체는 단방향, 테이블은 양방향

Answer 1

3

안녕하세요. 김형민님, 공식 서포터즈 OMG입니다.

네 맞습니다.

em.persist 로 해당 객체가 영속화 되었고, 변경감지가 동작하여 em.update()와 같은 코드 없이 객체의 값을 변경하였을 때 변경 내역이 커밋시점에 반영된 것입니다.

"영속성 컨텍스트 2" 강의를 복습하시면 헷갈리시는게 해결 되실꺼에요 :)

 

감사합니다.

fkgnssla3487님의 프로필 이미지
fkgnssla3487
Questioner

감사합니다!

fkgnssla3487's profile image
fkgnssla3487

asked

Ask a question