InnerException.Message = "고유 키 위반 ..."으로 GenericADOException을 catch합니다. for 입력 된 로그인이 이미 사용 중임을 사용자에게 알려줍니다. 나는이 오류 얻을 (Session.CreateCriteria)을 일부 날짜를 얻으려고 그 이후
"MyEntityType"항목에 널 (null) ID를GenericADOException 후에 Session.GetAll을 시도 할 때 "MyEntityType"항목의 null ID (예외가 발생한 후 Session을 플러시하지 않음)
6
A
답변
7
http://www.nhforge.org/doc/nh/en/index.html#manipulatingdata-exceptions
(예외가 발생한 후 세션을 플러시하지 않음)If the ISession throws an exception you should immediately rollback the transaction, call ISession.Close() and discard the ISession instance. Certain methods of ISession will not leave the session in a consistent state.
예외가 발생한 후에 세션을 버리고 새로운 세션을 시작 했습니까?
1
당신은 컨텍스트에서 개체를 제거하고이 같이 할 경우 계속 사용할 수 있습니다 :
public void Save() {
try
{
Session.SaveOrUpdate(this);
}
catch
{
// If the object as a null identifier everything else fails. Remove from context
if (Session.GetIdentifier(this) == null)
((SessionImpl)Session).PersistenceContext.EntityEntries.Remove(this);
throw;
}
}
관련 문제
- 1. 예외가 발생한 후 HandleError가 뷰로 리디렉션되지 않습니다!
- 2. 예외가 발생한 후에 프로그램을 단계적으로 건너 뜁니다. - Visual Studio
- 3. 엔티티를 삽입 한 후 NHibernate "null identifier"예외가 발생합니다.
- 4. 예외가 발생한 후 중고품 보관 서버를 재발견하려면 어떻게해야합니까?
- 5. 예외가 발생한 경우에만 개체 정리
- 6. pdb 파일을 병합하려고 시도 할 때 ILMerge 예외가 발생했습니다.
- 7. merge 할 때 충돌이 발생한 후 커밋 메시지에 문제가 발생했습니다.
- 8. PDFLib PHP 리소스에서 파일을 플러시하지 않음
- 9. null 값을 기대할 때 예외가 발생합니까?
- 10. 속성을 사용할 때 Null 참조 예외가 발생했습니다.
- 11. ID 맵의 Null 키
- 12. null 참조 예외가
- 13. 예외가 발생한 경우 Oracle에 계속 삽입
- 14. 예외가 발생한 시나리오에서 StreamReader 범위 지정
- 15. null 포인터 XML에서 팽창 할 때 예외 (TabActivity를 사용하지 않음)
- 16. 예외가 발생한 행에서 중지하도록 Eclipse를 설정하려면 어떻게해야합니까?
- 17. 예외가 발생한 정확한 지점을 얻는 방법은 무엇입니까?
- 18. 5 번 시도 후에 voicexml이 깨집니다.
- 19. Null 포인터 안드로이드에서 WebView의 예외가
- 20. ID 잠금에 대한 로그인 시도 실패 추적
- 21. Primefaces Google지도 - 마커를 드래그 한 후 null 포인터 예외가 발생했습니다.
- 22. JavaBean에 액세스 할 때 예외가 발생했습니다.
- 23. 시도 할 때 템플릿 오류가 발생합니까?
- 24. 파일을 삭제하려고 시도 할 때 AccessControlException이 발생했습니다.
- 25. ListView를 사용한 후에 사용하지 않음
- 26. MFMailComposeViewController가 null 콘텐츠-ID
- 27. PresentModalViewController를 시도 할 때 예외 발생
- 28. null 예외가 처리되지 않았습니다 - IdleDetectionMode.Disabled
- 29. X가 실패한 시도 후에 로그인을 차단합니다.
- 30. 시도/catch 블록이 예외를 catch하지 않음
예외가 나는이 문제가 않을거야보다 던진 후 나는() Session.Clear를 할 경우, 하지만 예외가 발생한 단일 사용자로 인해 전체 웹 응용 프로그램에 대한 세션을 지우는 것이 좋습니다. – Omu
예외가 발생한 후에 세션을 닫아야합니다. 나는 당신이 데이터베이스에 예외가 발생하지 않고 동일한 기능을 얻을 수 있도록 삽입하기 전에 로그인을위한 첫 번째 쿼리에 응용 프로그램을 다시 작성하는 것이 좋습니다. 구현 선택으로 인해 예외적 인 상황에서 현재 예외가 발생하고있는 것으로 보입니다. 또한 웹 요청 당 세션이 있어야하며 웹 응용 프로그램 당 세션이없는 것이 가장 좋습니다. –