是否存在以下声明的条件
PreparedStatement.executeQuery()
不会返回或抛出异常?
答案 0 :(得分:6)
这取决于您使用的数据库和配置的隔离级别。一个常见的默认设置是,如果您尝试选择已在另一个尚未提交的事务中更新的记录,则SELECT将阻止。
您是否尝试选择未提交的数据?你在用什么数据库?
或者您的查询可能需要很长时间。通过某些数据库工具运行查询,消除(或确认)这种可能性。
您可能还想调用setQueryTimeout()
,以便查询不会“永久”阻止。
答案 1 :(得分:1)
如果它还没有返回,那么它仍然在运行您的查询,或者仍在提取结果。
尝试使用某种数据库工具在java之外运行查询,并确保它及时执行。