When running multiple tests using H2 embedded db, the subsequent tests fail as the hibernate cannot drop and create tables between tests. As the result the tests see "dirty" database from previous tests.

The tets pass if run individually. The whole application tests pass in SB2.2.0 but fail after the version bump.

Hibernates generates warnings during tests starts:

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "drop table user_account if exists" via JDBC Statement
... ...
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "USER_ACCOUNT" because "FK5XL7CHEG2RTTVSNCL6B1TVT1M, FK6UTG5IJMPW6B2WCUKCYS5RBFP" depends on it; SQL statement:
drop table user_account if exists [90107-200]

Then

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table user_account ....
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER_ACCOUNT" already exists;

And finally the second test which run fails cause of an attempted insert with the exsitng ID.

A maven project with one entity class, and two tests that fails if run togheter is under:

https://github.com/tzielins/SB2.2.4-ISSUE

Comment From: wilkinsona

This is caused by a change in H2 with which Hibernate is not compatible. Please see https://github.com/spring-projects/spring-boot/issues/19666#issuecomment-578421774 for details.