2010-03-25 119 views
0

我使用的代碼:無法創建一個會話對象

Session session = 
     new Configuration(). 
     configure(cfgurl). 
     buildSessionFactory(). 
     openSession(); 

創建一個會話。 cfgUrl是URL類型,並指向另一個項目的hibernate.cfg.xml文件。問題在於它掛着,無法繼續前進。這是爲什麼掛?

+1

該網址是否有效?它是通過它在同一臺機器上還是通過網絡引用的cfg文件?是否可以訪問通過你的瀏覽器? – 2010-03-25 09:46:21

+5

將該行分解爲多個語句,以便您可以看到哪個方法調用是錯誤的。你寫的方式可能是導致問題的4個方法調用中的任何一個。 – skaffman 2010-03-25 09:46:22

+0

該URL是有效的,並且是一個相同的機器並且可以訪問 – Steven 2010-03-25 09:50:33

回答

0

通常SessionFactory被創建一次並保存在一個靜態變量中。我不確定這是否是懸掛的原因。

+0

通常?不是在我的手錶上,它不是,這將是一個值得嚴格搖動手指的進攻。 – skaffman 2010-03-25 09:57:42

+0

@skaffman:好的,而不是「通常」讓我們說「在hiberate文檔中推薦的方法」 – 2010-03-25 10:09:33

+0

您可以在同一個項目中創建多個會話工廠 - 儘管這是非常少需要的,因此幾乎總是浪費時間和資源,它應該工作。我們的一個應用程序在我找到並修復它之前做了很長時間:-) – 2010-03-25 10:23:10