Я испытываю странную проблему с базой данных H2 в памяти в моих тестах Spring Junit. Когда я сохраняю сущность, идентификатор успешно устанавливается (указывая на постоянную работу, работающую), но когда я пытаюсь получить объект сразу после этого, я получаю ошибку «таблица не найдена».
Вот упрощенная версия моего теста: < /p>
@Test
public void testEntityPersistence() {
Long entityId = 1L;
String category = "category1";
// This works - entity is persisted and ID is set
MyEntity entity = repo.saveEntity(entityId, category, 1,
LocalTime.now().minusMinutes(10), LocalTime.now().plusHours(2), "Asia/Kolkata");
// This fails with "Table not found" error
List entities = entityService.getEntities(entityId, category);
}
< /code>
Environment Details
app.datasource.driverClassName = org.h2.Driver
app.datasource.url = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
app.datasource.username = sa
app.datasource.password =
app.hibernate.database = H2
app.hibernate.dialect = org.hibernate.dialect.H2Dialect
app.hibernate.hbm2ddl.auto = update
app.hibernate.jdbc.time_zone = UTC
app.hibernate.show_sql=false
< /code>
What I've Tried
Adding DB_CLOSE_DELAY=-1 to the H2 URL (already present)
Setting hibernate.hbm2ddl.auto = create-drop instead of update
Ensuring the test is running in a transaction
If I use the 1.4.x version, then this error is not coming, but for versions 2. x.y its there.
Подробнее здесь: https://stackoverflow.com/questions/794 ... found-on-s