gpt4 book ai didi

java - 如何处理jdbc事务中的父键约束?

转载 作者:行者123 更新时间:2023-12-01 16:01:12 24 4
gpt4 key购买 nike

我有 2 个名为 T1 和 T2 的表。其中 T1 是父级,T2 是子级。场景是,我启动了一个 jdbc 事务,然后在 T1 中插入一行,然后尝试在 T2 中插入一行。在 T2 中插入行会导致“完整性约束-找不到父键”异常。

我如何处理这种情况?

 Connection con;
try{
con = ConnectionPool.getConnection();
con.setAutoCommit(false);
int T1Id = getNewId("T1"); // from sequence;
int T2Id = getNewId("T2"); // from sequence;
Insert in to table T1(t1Id,tName) values (T1Id,'A')
Insert in to table T2(t2Id, t1Id,tName) values (T2Id,T1Id,'A')//Here, Exception raises

con.commit();

}catch(Exception e){
try {con.rollback();} catch (SQLException e) {}

}finally{
try {con.setAutoCommit(true);} catch (SQLException e) {}
ConnectionPool.returnConnection(con);
}

使用JDBC API、struts1.2、Oracle10G数据库

最佳答案

你可能做错了什么。如果两个插入都在同一个事务中,则您刚才提到的情况就不会发生。请分享一些代码和更多信息(数据库服务器、表结构),看看我们是否可以帮助您。

关于java - 如何处理jdbc事务中的父键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3846397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com