Jeu de H2 schéma de connexion

Je suis à la configuration d'un h2 base de données de test pour notre oracle base de données de production. Toutes les tables du schéma xxx. Ma source de données est définie comme ci-dessous:

public DataSource dataSource() {
    JdbcDataSource ds = new JdbcDataSource();
    ds.setUrl("jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;MODE=Oracle;TRACE_LEVEL_SYSTEM_OUT=2;INIT=CREATE SCHEMA IF NOT EXISTS xxx;SCHEMA=xxx");
    ds.setUser("xxx");
    ds.setPassword("xxx");
    return ds;
}

Avec SCHEMA=xxx, j'obtiens une erreur: Caused by: org.h2.jdbc.JdbcSQLException: Schema "xxx" not found; SQL statement: SET SCHEMA xxx [90079-186]

Sans SCHEMA=xxx, j'ai des erreurs à chaque fois que Hibernate tente d'exécuter une requête avec une jointure, car il n'est pas à mettre le schéma pour le nom de la table. Cette production avec notre base de données oracle.

Edit:
Pour préciser un peu plus de perspicacité, je suis le remplissage de ma db à partir de la création de scripts qui sont également utilisés dans la production:

@Bean
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource) {
    final DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    initializer.setDatabasePopulator(databasePopulator());
    return initializer;
}

private DatabasePopulator databasePopulator() {
    final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
    populator.setSeparator(";");
    populator.setCommentPrefix("--");
    populator.addScript(new ClassPathResource("db-schema.sql"));
    populator.addScript(new ClassPathResource("db-init-data.sql"));
    return populator;
}
Avez-vous vérifier que le schéma existe pas? Sensible à la casse peut-être?
Il existe parce qu'il est créé avec INIT=CREATE SCHEMA IF NOT EXISTS xxx. Tout le reste fonctionne comme prévu, outre les requêtes qui cause des jointures.
désolé, je n'ai pas d'avis

OriginalL'auteur Roger | 2015-03-23