inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

조태준님의 게시글

조태준 조태준

@shong5096384

수강평 작성수
-
평균평점
-

게시글 11

질문&답변

트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?

추가로 주문 api 강의들에서 트랜잭션 없이도 지연 로딩을 활용했는데요 해당 링크 속 질문글의 영한님 답변은 아래와 같습니다. 트랜잭션 범위 밖의 영속성 컨텍스트는 1회성 영속성 컨텍스트라 생각하시면 됩니다. 보통 단순 조회성으로 사용하고, 지연로딩, 더티 체킹이 안됩니다. 답변 내용대로면 지연 로딩이 안되는 게 맞는데 어떻게 가능했던 건가요?

좋아요수
0
댓글수
2
조회수
118

질문&답변

연관관계 매핑과의 관련

몇가지 테스트를 해보니까 또 읽기 전용은 계속 유지가 되는 거 같은 생각이 드네요 연관관계 편의 메서드에서 연관관계 주인 쪽을 수정하는 부분( child.setParent(this) )을 주석 치고 테스트를 해보았습니다. // JpaMain.java Child child1 = new Child(); Child child2 = new Child(); Parent parent = new Parent(); parent.addChild(child1); parent.addChild(child2); em.persist(parent); tx.commit(); // ================================================ // Parent.java public void addChild(Child child) { childList.add(child); // child.setParent(this); } 이렇게 해도 child1 과 child2 는 INSERT 가 되더라고요. 대신, PARENT_ID 컬럼에는 null 값이 들어갑니다. 질문1) 그렇다면 아래와 같이 정리한 내용이 맞나요? INSERT 가 되는 이유는 cascade 속성 때문이고 null 값이 들어간 이유는 읽기 전용이기 때문이다 질문2) 만약 읽기 전용이 아닐 때( mappedBy 를 안 적었을 때)는, 주인 쪽에 setParent() 를 안 하고 주인 반대쪽에서 childList.add() 만 해도 PARENT_ID 컬럼에 값이 들어가죠? 질문3) 질문1의 내용이 맞다면, orphanRemoval=true 는 진짜 읽기 전용 속성을 무시하게 해준다고 생각해도 되나요?

좋아요수
0
댓글수
2
조회수
135

질문&답변

cascade에 대해 질문드립니다.

child(many)가 parent(one)을 정하고 child만 올려도 같이 올라가네요

좋아요수
0
댓글수
2
조회수
230

질문&답변

프록시 객체 더티체킹

제가 이해한 것이 맞나요?

좋아요수
0
댓글수
3
조회수
117

질문&답변

getReference 하고 find

제가 이해한 게 맞나요?

좋아요수
0
댓글수
3
조회수
150

질문&답변

프록시 초기화 detach 질문

reference 를 찍는 순간 초기화가 일어나네요

좋아요수
0
댓글수
3
조회수
334

질문&답변

getReference()로 가져오는 경우

원래의 질문과 아래 추가 질문에 대해 지식 공유자님의 답변도 부탁드립니다. https://www.inflearn.com/community/questions/264414 이 질문글의 David님 답변에서 1차 캐시에는 프록시 객체가 아닌 엔티티가 들어있습니다. 이건 무슨 의미인지 알 수 있을까요?

좋아요수
0
댓글수
4
조회수
152

질문&답변

@ManyToOne Category parent 질문 있습니다.

parent 에 @ManyToOne 이 붙었지만 이를 해석할 때는 내( this ) 기준에서 parent 는 N:1 마찬가지로 내 기준에서 child 는 1:N 이런식으로 받아들이면 될 거 같습니다

좋아요수
0
댓글수
2
조회수
562

질문&답변

제가 이해한바가 맞을까요.. ?

1번 질문에 대한 추가 답변을 해보자면 컨테이너가 생성되는 과정에서 @ComponentScan 이 진행되고 이 때 스코프와 상관없이 BeanDefinition 정보가 등록됩니다 그리고 싱글톤 스코프의 경우에는 BeanDefinition 정보가 등록되면서 동시에 BeanDefinition 을 근거로 빈 생성이 이루어지고 프로토타입 스코프는 컨테이너에 요청할 때, 리퀘스트 스코프는 http 요청이 들어올 때 미리 등록된 BeanDefinition 을 근거로 빈 생성이 이루어집니다 혹시 잘못된 부분 있으면 지적 부탁드립니다.

좋아요수
1
댓글수
2
조회수
501

질문&답변

소멸 메서드의 호출 시점

제 생각에는 스프링 컨테이너가 종료된 뒤 로그가 찍히는 것이 아니라 종료 작업이 시작될 때 찍히는 것 같습니다 그럼 자연스럽게 그 후에 종료 메서드 호출되는 게 이해가 되네요 혹시 틀린 정보라면 지적부탁드립니다

좋아요수
0
댓글수
2
조회수
351