자바 Hibernate 대상(순간 적,지구 적,탈 관 적)상세 설명
1472 단어 Java히 버 네 이 트 대상
최근 자바 하 이 버 네 이 트 를 배 웠 기 때문에 자바 하 이 버 네 이 트 대상 의 몇 가지 상 태 를 자료 정리 하 였 습 니 다. 관심 있 는 친 구 는 보 셔 도 됩 니 다.
순간(transient):데이터베이스 에 데이터 가 대응 하지 않 습 니 다.역할 영역 을 초과 하면 JVM 쓰레기 회수 기 에 의 해 회수 되 며,일반적으로 new 가 나 오고 session 과 관련 이 없 는 대상 입 니 다.
영구(persistent):데이터베이스 에 데이터 가 대응 하고 있 습 니 다.현재 session 과 관련 이 있 으 며 관련 된 session 이 닫 히 지 않 았 습 니 다.사 무 를 제출 하지 않 았 습 니 다.
영구적 인 대상 상태 가 바 뀌 면 트 랜 잭 션 을 제출 할 때 데이터베이스(hibenate 에서 감지 할 수 있 습 니 다)에 영향 을 줄 수 있 습 니 다.
(대상 save 후 데 이 터 를 영구적 으로 유지 합 니 다.이때 obj.set()를 제출 한 후 트 랜 잭 션 hibenate 에서 데이터 의 수정 이 감지 되 었 습 니 다.
save 라 는 대상 이전에(업무 중 에 있 더 라 도),즉 이 대상 이 오래 지속 되 지 않 기 전에 obj.set()를 사용 하면 hibenate 에서 데이터 수정 을 감지 하지 못 하고 데이터 베이스 에 영향 을 주지 않 습 니 다)
탈 관/유리(detached):데이터베이스 에 데이터 가 대응 하지만 현재 session 과 관련 이 없습니다.탈 관 대상 상태 가 바 뀌 었 습 니 다.hibenate 에 서 는 감지 할 수 없습니다.
hibenate 대상 의 세 가지 상태,변환 그림:
Commit()는 session 을 닫 습 니 다.
면접 도:한 대상 이 어떤 상태 에 있 는 지 판단 한다 면?
주요 근 거 는 1.이 대상 이 session 에 있 는 지,2.데이터 베이스 에 대응 하 는 기록 이 있 는 지 확인 하 는 것 이다.
요약:
순간 상태:session 관리 가 없 으 며 데이터베이스 에 대응 하 는 기록 이 없습니다.
지구 상태:session 관리 가 있 고 데이터베이스 에 기록 되 어 있 습 니 다.
탈 관 상태/유리 상태:session 관리 가 없 지만 데이터베이스 에 기록 되 어 있 습 니 다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.