我正在使用jndi来访问dbcp数据源。
每次调用static_dataSource.getConnection()
时,在一个servlet请求的范围内返回新连接。
在休眠中有一个函数getCurrentSession()
。据我所知,这个函数返回绑定到当前线程的连接。我应该将我的jdbc连接绑定到线程吗?
我的目标是在每个http请求包含许多DAO调用的一个事务的范围内调用复杂的业务逻辑。就像在Spring中一样,我可以用@Transactional注释整个服务类。
答案 0 :(得分:1)
我建议您不要将JDBC连接绑定到线程。使用连接池并在最短的时间内挂起连接:从池中获取,执行操作,关闭连接,返回池。
您的持久性代码应该与Web层完全分开。您应该能够独立于Web层测试和使用它。你将两者结合在一起所做的任何事情都会降低持久层的有效性。