작성한 질문수
자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계와 연관관계의 주인 2 - 주의점, 정리
작성
·
175
0
team.getid에서 값을 불러와서 쓰시는데 team이라는 객체에 언제 id가 셋팅되는건지 궁금합니다 sequance나 auto에서 em.persist에서 sequance을 읽어 오는걸로 배웟는데 거기서 team이라는 객체에도 값이 셋팅 되는건가요???
답변 1
1
안녕하세요. 진석님
영속성 컨텍스트에 엔티티가 저장되고 관련하려면 항상 PK 값이 필요합니다.
따라서 em.persist()를 하는 순간에 DB에서 시퀀스 값을 조회해서 ID 값을 넣어줍니다.
감사합니다.
아 궁금한점은 중간에 clear를 통해 영속성 컨테스트를 비워 주었는데 team.getId()로 어떻게 id 값을 불러 왔는지 궁금해서 질문 드렸습니다
그전에 시퀀스값을 조회에서 영속성컨테스트에 넣었으면 clear할때 같이 값이 날라가는게 아닌지 궁금해서요!
네 em.persist() 순간에 시퀀스 값을 조회해서 team.id에 주입해줍니다^^
이미 넣어준 값이기 때문에 영속성 컨텍스트와 무관하게 객체에 id 값은 남아있습니다.
아 궁금한점은 중간에 clear를 통해 영속성 컨테스트를 비워 주었는데 team.getId()로 어떻게 id 값을 불러 왔는지 궁금해서 질문 드렸습니다
그전에 시퀀스값을 조회에서 영속성컨테스트에 넣었으면 clear할때 같이 값이 날라가는게 아닌지 궁금해서요!