为什么我的数据集没有使用 DBUnit 和 @DatabaseSetup 注释提交到我的 Oracle 数据库
Why my dataset is not committed to my Oracle database using DBUnit and @DatabaseSetup annotation
我是 spring 和 DbUnit 的新手。
我正确配置了 DBUnitDatabaseConnection。
我正在使用 @DatabaseSetup(..) 插入数据集。
当通过我的自动连接的 DAO 对象请求这些数据时,我找到了我所有的数据。
一切都很好,但是当我想通过 REST 请求访问数据时,我找不到任何数据,因为它们没有提交并保存到我的 oracle 数据库中。
我的数据在我的测试完成后提交。
我怎样才能在我的测试方法开始之前实现我的数据提交?
清除和刷新我的会话也不起作用。
更新:
这些注释在我的测试类中使用:
- @DiertiesContext
- @交易
- @RunWith(SpringJUnit4ClassRunner.class)
- @DbUnitConfiguration(databaseConnection = "dbConnection")
- @ContextConfiguration(loader=AnnotationConfigContextLoader.class, 类=MyBeanConfig.class)
- @TestExecutionListeners({DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class, TransactionDbUnitTestExecutionListener.class})
我的 dbConnection Bean 已将 "defaultAutoCommit" 设置为 "true",并将 "dataTypeFactory" 设置为 "Oracle10DataTypeFactory"。我基于 java 的配置还启用了 TransactionManagement。
我没有清除和刷新会话,而是提交了当前事务。
行得通。
我是 spring 和 DbUnit 的新手。 我正确配置了 DBUnitDatabaseConnection。 我正在使用 @DatabaseSetup(..) 插入数据集。 当通过我的自动连接的 DAO 对象请求这些数据时,我找到了我所有的数据。 一切都很好,但是当我想通过 REST 请求访问数据时,我找不到任何数据,因为它们没有提交并保存到我的 oracle 数据库中。 我的数据在我的测试完成后提交。 我怎样才能在我的测试方法开始之前实现我的数据提交? 清除和刷新我的会话也不起作用。
更新: 这些注释在我的测试类中使用:
- @DiertiesContext
- @交易
- @RunWith(SpringJUnit4ClassRunner.class)
- @DbUnitConfiguration(databaseConnection = "dbConnection")
- @ContextConfiguration(loader=AnnotationConfigContextLoader.class, 类=MyBeanConfig.class)
- @TestExecutionListeners({DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class, TransactionDbUnitTestExecutionListener.class})
我的 dbConnection Bean 已将 "defaultAutoCommit" 设置为 "true",并将 "dataTypeFactory" 设置为 "Oracle10DataTypeFactory"。我基于 java 的配置还启用了 TransactionManagement。
我没有清除和刷新会话,而是提交了当前事务。 行得通。