J'ai 2 tables nommées T1 et T2. Où T1 est parent et T2 est enfant. Le scénario est, j'ai commencé une transaction jdbc, puis insérez une ligne dans T1, puis essayez d'insérer une ligne dans T2. Insérer une ligne dans T2 me donne l'exception "Integrity Constraint-Parent key not found".Comment gérer les contraintes de la clé parent dans les transactions jdbc?
Comment je gère ce scénario?
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);
}
Utilisation de l'API JDBC, struts1.2, Oracle10 G Database
vous devriez montrer votre ** code JDBC ** actuel. Pas un code pseudo-SQL. –
Pas de code Java réel. Je vais voter pour fermer ceci. – duffymo