sonra InnerException.Message = "Benzersiz anahtar ihlali ..." Kullanıcıya girilen girişin zaten kullanımda olduğunu bildirmek. Ben bu hatayı alıyorum (Session.CreateCriteria) bazı tarihi almak için çalışıyorum bundan sonra
: "MyEntityType" girdisinde boş kimliknull id "MyEntityType" girdisinde (bir özel durum meydana geldikten sonra Session.GetAll) bir GenericADOException
6
A
cevap
7
http://www.nhforge.org/doc/nh/en/index.html#manipulatingdata-exceptions
(Özel bir durum oluştuğunda sonra Oturumu floş yok)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.
İstisnadan sonra oturumu attınız ve yeni bir oturum başlattınız mı?
1
Sen bağlamdan nesneyi kaldırmak ve böyle yaparsanız devam edebilirsiniz:
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;
}
}
İlgili konular
- 1. Veritabanı değişikliği meydana geldikten sonra kullanıcı arayüzünü güncellemenin yolu
- 2. Özel bir özel durum döndürme
- 3. AddWithValue parametresi NULL olduğunda özel durum
- 4. Niçin NHibernate bu durumda ISession.Refresh sırasında bir "GenericADOException: bir koleksiyon başlatılamadı" özel durumu atar?
- 5. cfscript ile özel bir özel durum yakalamak
- 6. PostgreSQL Özel Durum İşleme
- 7. Scala'da bir gelecekte gerçekleşecek bir özel durum nasıl ele alınır
- 8. Neden C# genel bir özel durum yakalayamıyorum?
- 9. Şeffaf hale geldikten sonra UIView'deki hareket nasıl algılanır?
- 10. AVAssetWriterInputPixelBufferAdaptor pixelBufferPool, bir süre sonra NULL gider
- 11. C girişi, özel durum?
- 12. Bir bilgisayarda meydana gelen "UnreachableBrowserException/Adres zaten kullanımda" ile Selenium bir bilgisayarda meydana gelen
- 13. Bir karakterin son meydana gelmesinden sonra bir dizenin parçasının zarif bir şekilde kaldırılması
- 14. COM `HRESULT` NET'te bir özel durum içine
- 15. VB.NET'te bir özel durum nasıl oluşturulur
- 16. std :: promise bilinmeyen bir özel durum
- 17. UI'ye özel durum iletisi
- 18. Boş işaretçiye neden Özel Durum
- 19. Bir StateListDrawable'da kullanılmak üzere özel bir durum oluşturmak mümkün mü?
- 20. Sütun değerindeki bir değişimin meydana geldiği satırları seçin
- 21. C uzantısında özel bir Python özel durum türü nasıl oluşturulur?
- 22. java uygulamasında belirli bir özel durum işleme örneği
- 23. @JsonIdentityInfo kullanıldığında null ID serileştirme sırasında
- 24. için null id oluşturuldu: sınıf hibernate
- 25. c-kullanıcı girdisinde yapı dizisi
- 26. Neden bir örnekte iki kez meydana gelen bir parametre daha sonra sınıftan işlevler kullanılırken hata üretir?
- 27. windbg özel durum
- 28. Bir Thread bir Özel Durum atarsa ne olur?
- 29. Bir Id Vuejs
- 30. ThreadPools'ta özel durum yönetimi
istisna ben bu sorunu yaşama gitmiyorum daha atıldı sonra() Session.Clear yaparsanız, Ama bunun bir web sitesi için tüm webapp için Session'ı temizlemek için iyi bir fikir olduğunu sanmıyorum. Bu istisnai bir istisna olan tek bir kullanıcı – Omu
Bir istisnadan sonra oturumu kapatmalısınız. Ekleme işlemini yapmadan önce uygulamanızın ilk sorguya yeniden yazılmasını öneririm, böylece bir veritabanı istisnası atılmadan aynı işlevselliği elde edebilirsiniz. Uygulama seçimleriniz nedeniyle istisnai olmayan bir durumda şu anda bir istisna uyguladığınız anlaşılıyor. Ayrıca, web uygulaması başına bir oturum değil, web başına bir oturum için en iyi uygulamadır. –