Чтобы ответить на мой собственный вопрос, если у кого-то возникнет такая же или похожая проблема.
- ...
- запустите один из моих тестов. Это не удалось.Кажется, что когда тест выполняется, он пытается повторно выполнить мой сценарий инициализации данных, а затем терпит неудачу (ошибки в связи с нарушением первичного ключа).Кроме того, если я закомментирую часть в моем context.xml, где определены сценарии, и повторите тест - я получаю Таблицу xyz не найдено
По сути, он попыталсяповторно выполнить сценарии.Решением было DROP table IF EXISTS
каждой таблицы до CREATE
ее использования.
Вторая и важная часть: table xyz not found
ошибка.Проблема заключалась не в том, что таблицу не удалось найти - это было имя схемы, которая отсутствовала (фактически не была установлена) во время выполнения запроса.
Это то, что мне было нужно (обратите внимание на комментарий):
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="tests" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="generateDdl" value="false" />
<property name="showSql" value="true"/>
<property name="database" value="H2" />
</bean>
</property>
<!-- BELOW PROPERTY, namely the default_schema key -->
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">none</prop>
<prop key="hibernate.default_schema">TESTINGDB</prop>
</props>
</property>
</bean>
Без этой части конфигурации моя тестовая схема не предполагалась, и таблицы были объявлены как не найденные.