无法创建一个会话对象

问题描述:

我使用的代码:无法创建一个会话对象

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

通常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