自己整合了一下jpa和jdbc的时候,出现了这样的错误。细细的查了下,发现问题是出在statement.close()的时候。
因为Connection已经关闭了,如果在关闭statement,就会报错。
原因是Connection关闭的时候,会同时关闭statement和resultset.这个得注意一下。
所以判断statement是否关闭完全无必要,只需要保证Connection关闭之前,关闭statement就可以了。这个错误就可以避免掉了。
finally {
if(!conn.isClosed())
{
stmt.close();
conn.close();
}
}
本文探讨了在整合JPA与JDBC时遇到的一个常见问题:在已关闭的Connection上尝试关闭Statement导致的错误。文章详细解释了Connection关闭时会一并关闭所有相关的Statement和ResultSet,并提供了一个正确的关闭资源的示例代码。
269

被折叠的 条评论
为什么被折叠?



