daodan

导航

 

1.INSERT

调用PL/SQL 去insert的时候,没有使用super(),此时应当自己创建callable statement;

调用checkErrors()方法在执行 callable statement 处理异常后

protected void insertRow()
{
   try
   {
     String insertStmt = "BEGIN INSERT_RECORD( " +
                                  "PARAM1 => :1, " +
                                  "PARAM2 => :2, " +
                                  "PARAM3 => :3, " +
                                  "PARAM4 => :4); END;";

     DBTransaction trxn = getDBTransaction(); 
     CallableStatement insertStmt = trxn.createCallableStatement(insertStmt, 1);    
   
     // Rebind parameters 
     insertStmt.setString(1, getFirstName()); 
     insertStmt.setString(2, getLastName()); 
     insertStmt.setString(3, getAddress1()); 
     insertStmt.setString(4, getAddress2()); 
     // Execute the statement 
     insertStmt.executeUpdate(); 
     // OAExceptionUtils.checkErrors as per PLSQL API standards 
     OAExceptionUtils.checkErrors (txn); 
   } 
   catch(SQLException sqlE) 
   { 
      ... 
   } 
 } 

If you have any calculations for any of your EO columns in your PL/SQL procedure, and if you would like to reflect those values in your EO after row insertion in the database, then you should include those columns in your view object SQL and do the following:

txn.commit();
vo.executeQuery();

清除EO缓存

clearEntityCache() ;

posted on 2014-10-16 10:26  daodan  阅读(299)  评论(0编辑  收藏  举报