2012-06-07 2 views
0

최대 절전 모드입니다. 나는 아래와 같이 삭제 방법을 사용하여 레코드를 삭제합니다.삭제 된 레코드 가져 오기?

Session session = sessionFactory.getCurrentSession(); 
session.delete(pojotobedeleted); 

내 요구 사항은 레코드를 삭제 한 후 동일한 삭제 된 레코드를 반환해야합니다. 삭제 된 기록은 어떻게 얻을 수 있습니까?

감사합니다.

+6

'반환 pojotobedeleted,'? – maksimov

+0

라이프 사이클 이벤트를 처리하기 위해 리스너를 추가하십시오. –

+1

pojotobedeleted 약간의 작품을 반환하지만, 확실히 당신이 그것을 끝낼 때까지 그것을 삭제하지 마십시오 pojo가 필요한 경우. 일시적인 pojo에는 더 이상 데이터 저장소에없는 ID가 포함되어 있으므로 pojo가 변경된 경우 변경 사항을 적용 할 수 있습니다. – NimChimpsky

답변

0

나는 그렇게에 대한 추가 select 문이

Session session = sessionFactory.getCurrentSession(); 
pojotobedeleted = session.load(Pojo.class, id); /* not necessary if loaded before */ 
session.delete(pojotobedeleted); 
return pojotobedeleted; 

물론 말하고 싶지만,하지만 네이티브 SQL과 동일합니다. SQL 삭제는 삭제 된 행을 반환하지 않으며 최대 절전 모드는 원시 SQL을 더 좋게 만들 수 없습니다.

(이 당신은 내가 당신의 질문을 이해하지 않는 다음 원하는 것을하지 않으면 : 목표는 무엇인가, 왜 내 예제에서 좋아하지?)

관련 문제