通过servlet中的Hibernate进行数据库连接

时间:2010-03-12 11:48:14

标签: java hibernate orm servlets

返回HibernateSessionFactory的Hibernate代码在servlet中最好的地方是什么?

我看到很多例子:将db连接放在服务方法中。 Others - 使用类似HibernateUtil(Singleton)的smth返回HibernateSessionFactory。

我不知道在多线程Servlet中使用HibernateUtil是否安全?

2 个答案:

答案 0 :(得分:6)

通常,您应该直接使用MVC框架来支持Servlet,但这不是您的问题,我将假设您有充分的理由来实现自己的Servlet。回答......

按此 - https://www.hibernate.org/hib_docs/v3/api/org/hibernate/SessionFactory.html

  

实现者必须是线程安全的。

  

SessionFactorys是不可变的。 SessionFactory的行为由配置时提供的属性控制。这些属性在Environment上定义。

所以共享SessionFactory s。

的实例是可以的

事实上,根据我的经验,您的HibernateUtil方法是更好的方法,因为SessionFactory的创建可能非常昂贵。

答案 1 :(得分:1)

使用Open Session in View模式(请参阅过滤器实现)。