[英]Can I rollback after calling stored procedure in java test?
我在DAO層中有一個方法可以在Oracle數據庫中調用存儲過程:
@Override
public void deleteNode(Integer nodeId) {
SqlParameterSource in = new MapSqlParameterSource()
.addValue("nodeId",nodeId)
.addValue("user", "DUMMY");
SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(ebDataSource)
.withSchemaName("SCHEMA")
.withCatalogName("PK_GRAPH_DML")
.withProcedureName("DeleteNode");
simpleJdbcCall.execute(in);
}
而且我必須測試這種方法。 但是我想在每次執行此測試后回滾所有更改。
@Test
@Transactional
@Rollback
public void deleteEBNode_ok() {
Integer nodeId = 5714;
ebFlowService.deleteEBNode(nodeId.toString());
EBFlowToolSelect nodeModelFromDatabase = ebFlowService.getNodeById(nodeId);
Assert.assertNull(nodeModelFromDatabase.getNodeId());
}
我試圖通過@Transactional
和@Rollback
注釋我的測試,但這沒有幫助。
是否可以使我的測試回滾存儲過程所做的所有更改?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.