Подтвердить что ты не робот

Spring -boot datasource совершать проблемы

В моем приложении используется Spring -Boot 1.4.1.RELEASE, а конфигурация моего источника данных выглядит следующим образом:

spring:
  datasource:
    url: ***
    username: ***
    password: ***
    driver-class-name: oracle.jdbc.driver.OracleDriver
    initial-size: 1
    max-active: 100
    max-idle: 30
    min-idle: 1
    max-wait: 0
    pool-prepared-statements: true
    max-open-prepared-statements: 3

Проблема в том, что последний случай моего тестирования интеграции, если он содержит логику установки @Sql в нем, не может выполнить последнюю установку SQL. Проблема возникает редко из-за переупорядочения случаев и того факта, что для подготовки БД есть только несколько случаев с логикой установки. Конфигурация отсутствует, но одна для OracleDB и находится в ConfigClass.

@SpringBootTest(classes = ConfigClass.class)
public class EtcTest {

    @After
    public void teardown() {
        // teardwon X, Y, & Z
    }

    @Test
    @Sql("setupX.sql")
    @Sql("setupY.sql")
    @Sql("setupZ.sql")
    public void get_fromDb() {
        List<Etc> list = buildExpectedList();
        Obj expected = buildExpected();
        Obj actual = getCallToAPI();

        assertThat(rs.getX()).isEqualTo(expected.getX());
        assertThat(rs.getY()).isEqualTo(expected.getY());
        assertThat(rs.getZ()).containsAll(list);
    }
}

Проблема, например, в приведенном выше случае, если это был последний случай интеграции, что он не смог зафиксировать последний SQL в аннотациях @Sql, а именно SetupZ.sql, но данные не полностью отсутствуют, он вставляет первичный ключ, а иногда columnA или columnB, это как если бы что-то действительно неправильно здесь.

Может ли это возникновение или отсутствие какой-либо конфигурации? Если нет, то в чем причина?

4b9b3361

Ответ 2

Привет для тестовых классов вместо фактической базы данных, вы можете использовать такие базы данных, как DB2, derby и h2. он обеспечивает решение вашей проблемы.

для примера кода вы можете найти ниже URL Spring хранилище данных jpa в хранилище данных в памяти

Ответ 3

Вы пытаетесь использовать JPA для сохранения. Доступны следующие настройки:

spring.jpa.show-sql=true

Тогда вы могли видеть, что пошло не так.