hibenate 실체 생명주기
예:
TUser user = new TUser();
user.setName("MyName");
이곳 의 user 대상 은 매우 일반적인 자바 대상 일 뿐 데이터베이스 의 기록 과 아무런 관계 가 없다.2: 지속 상태 (영구)
영구 상태 (Persistent), 즉 실체 대상 은 Hibernate 프레임 워 크 의 관리 상태 이 고 실체 대상 은 Hibernate 의 실체 용기 에 포함 되 어 관리 된다.영구적 인 상태 에 있 는 대상 은 Hibernate 에서 데이터베이스 로 고 화 됩 니 다.
예:
TUser user_1 = new TUser();
TUser user_2 = new TUser();
user_1.setName("Name_1");
user_2.setName("Name_2");
Transaction tx = session.begintransaction();
session.save(user_1);
session 을 통한 save 방법, user1 대상 은 이미 Hibernate 의 실체 관리 용기 에 포함 되 어 지구 화 상태 / / 상태 (Persistent) 에 있 습 니 다. 이때 user1. 대상 의 모든 수정 은 데이터베이스 에 동기 화 됩 니 다.tx.commit(); //그리고 user2. 여전히 자유 상태 (Transient) 에 있 고 Hibernate 프레임 워 크 의 관 리 를 받 지 않 습 니 다.위 에서 보 듯 이 자유 상태 에 있 는 실체 대상 은 하 이 버 네 이 트 의 Session. sava 방법 을 통 해 지구 상태 로 전환 할 수 있다.Session. save 방법 외 에 도 다른 방법 으로 지속 적 인 상태의 대상 을 얻 을 수 있 습 니 다. 그것 은 바로 Hibernate 를 통 해 불 러 온 대상 입 니 다. Session. load 방법 을 통 해 지속 적 인 상태 에 있 는 실체 대상 을 직접 불 러 올 수 있 습 니 다.다음 과 같다: TUser user = Session. load (TUser. class, new Integer (1)); /load 방법 이 돌아 오기 전에 대상 을 Hibernate 의 관리 범위 에 포함 시 켰 기 때문에 이곳 의 user / / 는 이미 지속 적 인 상태 입 니 다.위의 코드 를 통 해 알 수 있 듯 이 지구 상태 에 있 는 실체 대상 은 반드시 Session 과 관련 되 고 이 Session 의 유효기간 내 에 있어 야 한다. 3: 유리 상태 (Detached)
지구 상태 에 있 는 실체 대상 은 관련 된 Session 이 닫 힌 후에 이 실체 대상 은 유리 상태 에 있 습 니 다.
TUser user = new TUser();
user.setName("name_1");
Transaction tx = session.begintransaction();
session.save(user);
/ / 자유 상태의 실체 대상 user 를 지구 상태 로 전환 합 니 다. tx. commt ();
session.close(); //session 이 닫 히 면 영구적 인 상태 에 있 는 실체 대상 user 는 유리 상태 로 전 환 됩 니 다.
/ / 이때 user 는 session 과 관 계 를 끊 었 기 때 문 입 니 다.
세 가지 상태의 전환 자유 상태 - > 지속 상태: Session. sava 방법 으로 전환 할 수 있 습 니 다.지구 상태 -- > 유리 상태: Session. close 방법 으로 session 을 닫 고 유리 상태의 대상 의 지구 상 태 를 가 져 올 수 있 습 니 다 -- > 자유 상태: Session. delete 방법 으로 실체 대상 에 대응 하 는 데이터베이스 기록 을 삭제 하여 실체 대상 을 자유 상태 로 만 들 수 있 습 니 다.
출처: DIY 부락 http://www.diybl.com/course/3_program/java/javajs/20090204/154816.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.