我有一个baseDAO
包含基本CRUD
操作的方法。并且对于每一个操作我们都在做getJpaTemplate.xxx()
操作。该代码在生产中运行良好,但现在我们必须UTs
为DAO
layer 编写并且我们正在使用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 表中也没有条目。
请问有什么建议吗?
提前致谢。
乙脑。