2

我有一个baseDAO包含基本CRUD操作的方法。并且对于每一个操作我们都在做getJpaTemplate.xxx()操作。该代码在生产中运行良好,但现在我们必须UTsDAOlayer 编写并且我们正在使用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并且在 db 表中也没有条目

请问有什么建议吗?
提前致谢。
乙脑。

4

1 回答 1

0

savepoint = connection.setSavepoint("数据插入数据库");

确保保存点何时提交?你能把所有相关的API代码放在这里吗?

于 2012-07-27T05:23:06.113 回答