@Override protected void doInTransactionWithoutResult(TransactionStatus status) { try { Connection connection = dataSource.getConnection(); connection.prepareStatement("DROP TABLE IF EXISTS DomainEventEntry").executeUpdate(); connection.prepareStatement("DROP TABLE IF EXISTS SnapshotEventEntry").executeUpdate(); ((JdbcEventStorageEngine) getStorageEngine()).createSchema(MySqlEventTableFactory.INSTANCE); } catch (SQLException e) { throw new IllegalStateException("Failed to drop or create event table", e); } } });