Java 使用语句对象执行多个查询的间歇状态

Java 使用语句对象执行多个查询的间歇状态,java,postgresql-9.3,Java,Postgresql 9.3,我将使用单个连接和语句对象作为两个进程来执行多个SQL语句 预处理(Preprocess.java) 后期处理(Postprocess.java) 我的流程步骤如下: 创建连接对象并将setAutoCommit()设置为false 创建语句对象 在预处理期间,使用创建的语句对象执行所需的SQL语句 然后对于后处理,我传递相同的语句对象并执行所需的SQL语句 最后提交事务(connection.commit();)并关闭连接,语句对象 我的问题是: 有时,后处理执行的语句不会反映在数据库中。也就是

我将使用单个连接和语句对象作为两个进程来执行多个SQL语句

  • 预处理(Preprocess.java)
  • 后期处理(Postprocess.java)
  • 我的流程步骤如下:

  • 创建连接对象并将setAutoCommit()设置为false
  • 创建语句对象
  • 在预处理期间,使用创建的语句对象执行所需的SQL语句
  • 然后对于后处理,我传递相同的语句对象并执行所需的SQL语句
  • 最后提交事务(
    connection.commit();
    )并关闭连接,语句对象
  • 我的问题是:

    有时,后处理执行的语句不会反映在数据库中。也就是说,若我在后期处理中插入或更新任何记录,那个么这些记录在数据库中是不可用的

    但后处理执行毫无例外地工作正常

    这种情况的概率是1分之5/(这意味着4倍于我预期的工作,但1倍有问题)

    有人能指出问题吗


    我使用的是Jdk 1.7和Postgresql 9.3版本。

    您是否正确捕获并记录了异常?是的,我当然正确捕获并记录了异常。还有一件事我犯了一个错误。实际上,我必须在完成后处理后提交事务。但我在预处理完成后提交了事务。因此,后处理记录不会反映在数据库中。