Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDBC中的事务状态_Java_Jdbc_Transactions - Fatal编程技术网

Java JDBC中的事务状态

Java JDBC中的事务状态,java,jdbc,transactions,Java,Jdbc,Transactions,在JDBC中,有没有办法知道事务是否处于“正在进行”状态?我在箱子里什么也没找到 谢谢,JDBC不跟踪事务状态。跟踪事务状态是数据库的工作 鉴于此,您仍然有两种方法来跟踪/了解事务状态 您可以对数据库进行sql调用,以询问特定于事务的详细信息。对于oracle,它将位于中建议的v$transaction表中 另一个解决方案是在一些常见的框架中使用事务管理器代码,比如hibernate(我相信Spring也有) 您如何定义“正在进行的状态”?我指的是“脏”之类的东西-更新、插入和删除行。感谢ora

在JDBC中,有没有办法知道事务是否处于“正在进行”状态?我在箱子里什么也没找到


谢谢,JDBC不跟踪事务状态。跟踪事务状态是数据库的工作

鉴于此,您仍然有两种方法来跟踪/了解事务状态

您可以对数据库进行sql调用,以询问特定于事务的详细信息。对于oracle,它将位于中建议的v$transaction表中

另一个解决方案是在一些常见的框架中使用事务管理器代码,比如hibernate(我相信Spring也有)


您如何定义“正在进行的状态”?我指的是“脏”之类的东西-更新、插入和删除行。感谢oracle提示,它将帮助我。
SELECT COUNT(*) 
  FROM v$transaction t, v$session s, v$mystat 
  WHERE t.ses_addr = s.saddr AND s.sid = m.sid AND ROWNUM = 1;
public interface Session {
  public abstract org.hibernate.Transaction getTransaction();
}

public Transaction {
  public abstract boolean wasRolledBack() throws org.hibernate.HibernateException;

  public abstract boolean wasCommitted() throws org.hibernate.HibernateException;

  public abstract boolean isActive() throws org.hibernate.HibernateException;
}