SORU
4 EKİM 2008, CUMARTESİ


Arabiriminin oturum arasındaki Fark.Birleştirme ve oturum.SaveOrUpdate?

Bazen/çocuk nesneleri ailemin, ya da çok-çok ilişkileri ile fark ettim, ya SaveOrUpdate Ara, ya da Birleştirmek istiyorum. SaveOrUpdate aramam gerektiğinde genellikle, Birleştirme arıyorum ben özel bir ilgisi var geçici nesneleri önce kaydedilmiş değil. Lütfen ikisi arasındaki farkı açıklar.

CEVAP
4 EKİM 2008, CUMARTESİ


Bu bölümünde ise, Hazırda bekleme Başvuru Belgeleri 10.7. Automatic state detection:

() saveOrUpdate şunları yapar:

  • eğer nesne zaten bu oturumda kalıcı ise, hiçbir şey yapmayın
  • eğer başka bir oturum nesnesi ile ilişkili olarak aynı kimliğe sahip, bir özel durum
  • eğer nesne tanımlayıcı özelliği varsa, Kaydet ()
  • eğer nesne tanımlayıcı değeri yeni atanan varsa , () örneği nesne kaydedin
  • eğer nesne (bir <sürüm> veya <zaman damgası>) sürüm bilgisi, sürüm özelliği değeri aynı değer, yeni atanan , () örneği nesne kaydedin
  • aksi takdirde() update nesne

ve birleştirme() çok farklı

  • eğer aynı tanımlayıcı ile kalıcı bir örnek şu anda yok oturum ile ilişkili, belirli nesne durumu üzerine kopyalama kalıcı örnek
  • eğer kalıcı bir örneği şu anda ilişkilendirilmişse yok oturum, veritabanından yüklemek veya yeni bir kalıcı oluşturmak için deneyin örnek
  • kalıcı örneği döndürülür
  • verilen örnek oturum ile ilişkili olmaz müstakil kalır

Birleştirme kullanmalısınız() eğer bir nokta oturumdan müstakil kalmış olan nesneleri güncelleştirmek için çalışıyoruz, özellikle eğer bu nesneleri şu anda oturum ile ilişkili olan kalıcı örneklerini olabilir. Aksi takdirde, SaveOrUpdate kullanarak() bu durumda neden bir istisna.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • girleffect

    girleffect

    20 Mayıs 2008
  • itfigueres

    itfigueres

    12 EKİM 2013