DbUnit NoSuchTableException, когда таблица имеет схему - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь добавить имя схемы в DbUnit и получаю сообщение об ошибке. Пожалуйста, помогите

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {IntegrationTestsConfig.class})
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class, DbUnitTestExecutionListener.class})
@DatabaseSetup("/datasets/myjpa-repository-test.xml")
public class MyJpaRepositoryIntegrationTest {...}
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = "com.myproject.repository")
public class IntegrationTestsConfig {

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("org.hsqldb.jdbc.JDBCDriver");
        dataSource.setUrl("jdbc:hsqldb:mem:testdb");
        dataSource.setUsername("sa");
        return dataSource;
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) {
        Properties properties = new Properties();
        properties.setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
        properties.setProperty("hibernate.hbm2ddl.auto", "create-drop");
        properties.setProperty("hibernate.show_sql", "true");

        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
        em.setDataSource(dataSource);
        em.setPackagesToScan("com.myproject.entity");
        em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
        em.setJpaProperties(properties);
        em.setJpaDialect(new HibernateJpaDialect());
        return em;
    }

    @Bean
    public PlatformTransactionManager transactionManager(LocalContainerEntityManagerFactoryBean em) {
        return new JpaTransactionManager(em.getObject());
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
    <MyTable Id='1' name='test'/>
</dataset>
@Entity
@Table(name = "MyTable", catalog = "MYCATALOG")
public class MyEntity implements Serializable {...}

С этим кодом все работает отлично, но когда я добавляю schema к объекту:

@Entity
@Table(name = "MyTable", catalog = "MYCATALOG", schema = "myschema")
public class MyEntity implements Serializable {...}

I ' m получает org.dbunit.dataset.NoSuchTableException: MyTable . (Я уже пробовал

...