2012-07-27 54 views
2

我有一個baseDAO其中包含基本CRUD操作的方法。對於每個操作,我們正在做getJpaTemplate.xxx()操作。 代碼工作正常生產,但現在我們必須編寫UTsDAO層,我們正在使用DBUnit堅持數據的DBUnit問題

我看到的例子,寫的DBUnit班,我觀察到操作的工作不錯,但刪除,更新創建操作根本不工作。
當我們試圖呼叫DAO.save(object)它不會拋出任何異常,它來到下一行,但當我試圖打開表並看到值,新行不插入既不交易失敗也沒有任何拋出異常

我懷疑是否有問題連接。 對於參考我附加getConnection()方法。

protected IDatabaseConnection getConnection() throws Exception { 

Connection con = dataSource.getConnection(); 
DatabaseConnection connection = new DatabaseConnection(con); 
DatabaseConfig config = connection.getConfig(); 
config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY,new oracleDataTypeFactory()); 
return connection; 
} 

我們有被稱爲在setup()XML文件,它工作正常填充數據的另一種方法。僅供參考,我在此處添加代碼。

protected void insertData (String xmlDataFilePath) { 
    IDatabaseConnection dbConnection= getConnection(); 
    TransactionOperation.CLEAN_INSERT.execute(dbConnection,getDataSet(xmlDataFilePath)); 
    connection = jPATransactionManager.getDataSource().getConnection(); 
    connection.setAutoCommit(false); 
    savepoint = connection.setSavepoint("Data inserted in db"); 
    dbConnection.close(); 
} 

我不知道沒有看到插在DB,如何進一步進行了新行。
因爲我試圖做

getJpaTemplate().save(object); 
getJpaTemplate().load(ClassName.class, object's id); 

返回我null和數據庫表還沒有進入

有什麼建議嗎?
在此先感謝。
JE。

回答

0

savepoint = connection.setSavepoint(「Data db in db」);

確保何時提交保存點? 你能把所有相關的API代碼放在這裏嗎?