2011-11-17 25 views
6

Hazırda bekletme oturumu al ve sorgu oluştur. Benim Oturum fabrika bulunur ve getSession() yöntemHazırda beklet ve oturumu kapat Oturum aç

(getSessionFactory().openSession();) 

Ben

  • olmadığını aradıktan sonra bilmek istiyorum yeni bir oturum döndürür nereye

    HSession.getSession().createQuery("query here").executeUpdate(); 
    

    VE

    Critaria cr=HSession.getSession().createCritaria(..).. ; 
    

    HSession olduğunu cr.list(); Oturum hala yaşıyor mu?

  • Yaşıyorsanız, bu ölçütleri almak veya sorgulama yöntemi uygulamak iyi değil mi? ve
  • Oturum s = HSession.getSession() gibi bir oturum oluşturma;
    s.createCriteria ...

    Oturumun kullanımı ve s.close(); kullanarak kapatılması mümkün mü? Bugün buna okumuştum

cevap

8

Evet, siz kapatılıncaya kadar oturum canlı olacak. Bir oturuma karşı birden çok işlem gerçekleştirebilirsiniz, ancak yalnızca close() onu kapatacaktır.

Sizin durumunuzda, oturumlar HSession'un ne tarafından kontrol edildiği gibi görünüyor. Herhangi bir işlemin gerçekleştirilip gerçekleştirilmediğini, oturumların nasıl yönetildiğini, vb. Görmek için buna bakmanız gerekir.

+0

Bilgileriniz için teşekkür ederiz. –

5

... ona "işlem sona erdiğinde bir Oturum getCurrentSession() ilk kez çağrıldığında açılıp kapanır." Dedi Yani şuna göre: Eğer etrafına sarılmış bir işleminiz varsa (ve tahmin etmeliyim) ve transaction.commit() 'i çağırın.
Sizin durumunuzda hala açık olmalıdır.

Lütfen bu konuda hatalıysam beni düzeltin!

İlgili konular