我应该将JDBC连接绑定到servlet线程吗?

时间:2011-12-28 21:41:48

标签: servlets jdbc connection-pooling

我正在使用jndi来访问dbcp数据源。

每次调用static_dataSource.getConnection()时,在一个servlet请求的范围内返回新连接。

在休眠中有一个函数getCurrentSession()。据我所知,这个函数返回绑定到当前线程的连接。我应该将我的jdbc连接绑定到线程吗?

我的目标是在每个http请求包含许多DAO调用的一个事务的范围内调用复杂的业务逻辑。就像在Spring中一样,我可以用@Transactional注释整个服务类。

1 个答案:

答案 0 :(得分:1)

我建议您不要将JDBC连接绑定到线程。使用连接池并在最短的时间内挂起连接:从池中获取,执行操作,关闭连接,返回池。

您的持久性代码应该与Web层完全分开。您应该能够独立于Web层测试和使用它。你将两者结合在一起所做的任何事情都会降低持久层的有效性。