Index: forgon-tools/src/main/java/com/forgon/db/async/adder/service/DefaultAdderManager.java =================================================================== diff -u -r25120 -r25259 --- forgon-tools/src/main/java/com/forgon/db/async/adder/service/DefaultAdderManager.java (.../DefaultAdderManager.java) (revision 25120) +++ forgon-tools/src/main/java/com/forgon/db/async/adder/service/DefaultAdderManager.java (.../DefaultAdderManager.java) (revision 25259) @@ -28,6 +28,7 @@ import com.forgon.system.transaction.model.TransactionInfo; import com.forgon.system.transaction.util.TransactionUtils; import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.util.SqlUtils; @@ -39,6 +40,7 @@ protected ObjectDao objectDao; private AugmenterWriter augmenterWriter; + private InitDbConnection dbConnection; @Autowired private RunWithTransNewManager runWithTransNewManager; @@ -54,6 +56,10 @@ this.augmenterWriter = augmenterWriter; } + public void setDbConnection(InitDbConnection dbConnection) { + this.dbConnection = dbConnection; + } + private void initConfig() { // { // AdderConfig disposableGoodsAmountAdder = new AdderConfig(); @@ -170,6 +176,12 @@ String sqlInsert = String.format( "insert into %s (targetId,augmenter) values (?,?) ", adderContext.getAdderConfig().getTableName()); + //增加对oracle的支持 + if(DatabaseUtil.isOracle(dbConnection.getDatabase())){ + sqlInsert = String.format( + "insert into %s (id,targetId,augmenter) values (HIBERNATE_SEQUENCE.nextval,?,?) ", + adderContext.getAdderConfig().getTableName()); + } statement = connection.prepareStatement(sqlInsert); int successCount = 0; for (Map.Entry entry : idToValueMap