java h2 base de données en mémoire d'erreur: la Table ne trouve pas

J'ai essayé de googler autour, mais la solution à presque tous ce genre de questions est d'ajouter ;DB_CLOSE_DELAY=-1, cependant il ne sert à rien pour moi.

Voici ma classe de test

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {Main.class})
public class Testas {

    @Autowired
    @Qualifier("managerImplementation")
    private ClassifierManager manager;

    @Test
    public void testManager(){
        ClassifierGroupEntity cge = new ClassifierGroupEntity();
        manager.saveClassifierGroup(cge);
    }
}

Gestionnaire de classe

@Service("managerImplementation")
public class ClassifierManagerImpl implements ClassifierManager{
@Autowired
private ClassifierGroupEntityRepository groupEntityRepository;
@Autowired
private ClassifierEntityRepository entityRepository;
@Autowired 
private ClassifierValueEntityRepository valueEntityRepository;
@Override
public ClassifierGroupEntity getClassifierGroup(long id) {
return groupEntityRepository.findOne(id);
}
@Override
public ClassifierGroupEntity getClassifierGroup(String code) {
return groupEntityRepository.findByCode(code);
}
@Override
public ClassifierGroupEntity saveClassifierGroup(ClassifierGroupEntity entity) {
return groupEntityRepository.save(entity);
}
@Override
public void deleteClassifierGroup(long id) {
groupEntityRepository.delete(id);
}
@Override
public ClassifierEntity getClassifier(long id) {
return entityRepository.findOne(id);
}
@Override
public ClassifierEntity getClassifier(String code) {
return entityRepository.findByCode(code);
}
@Override
public ClassifierEntity saveClassifier(ClassifierEntity entity) {
return entityRepository.save(entity);
}
@Override
public void deleteClassifier(long id) {
entityRepository.delete(id);
}
@Override
public ClassifierValueEntity getClassifierValue(long id) {
return valueEntityRepository.findOne(id);
}
@Override
public ClassifierValue getClassifierValue(String classifiedCode, String valueCode) {
return null;
}
@Override
public ClassifierValueEntity saveClassifierValue(ClassifierValueEntity entity) {
return valueEntityRepository.save(entity);
}
@Override
public void deleteClassifierValue(long id) {
valueEntityRepository.delete(id);
}
}

Et enfin les propriétés de fichier

spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.user=sa
spring.datasource.password=
spring.datasource.url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1

Lancer le test me jette

org.h2.jdbc.JdbcSQLException: Table "CLASSIFIER_GROUP_ENTITY" not found; SQL statement:
insert into classifier_group_entity (id, code, modified_details, modified_time, modified_user_id, order, revision, valid_details, valid_from, valid_till, parent_id) values (null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [42102-191]

Je ne sais pas si je dois fournir quelque chose, s'il vous plaît dites-moi si je ne. Je vous remercie de votre aide à l'avance.

Cela signifie que votre H2 dans la mémoire de la base de données n'est pas initialisé. Si vous êtes en utilisant Hibernate vous pouvez utiliser <property name="hbm2ddl.auto" value="créer"/> pour les tests? Sinon, vous pourriez fournir à sql qui permettra de créer votre schéma.
Où avez-vous initialiser votre base de données? Où voulez-vous vous charger le SQL pour créer le schéma (et table)?
Je n'ai pas, je suppose? Je pense que le printemps jpa crée pour moi. Je veux dire, il a bien fonctionné pour moi la première fois que je le faisais (créer une interface qui étend CrudRepository, et puis il suffit de demander pour elle est mise en œuvre avec @Autocâblés). Désolé si cela semble stupide, je suis frais à tous ces trucs.
Quelque part dans votre hibernate configuration, vous devez activer la capacité à créer de schéma s'il est manquant. Dans mon hibernate.cfg.xml sous /hibernate-configuration/session-factory j'ai: <property name="hibernate.hbm2ddl.auto">créer</propriété> <property name="hbm2ddl.auto">mise à jour</propriété> Qui crée des tables tant que de besoin. J'utilise aussi @Table(name="...") sur mon entités de sorte qu'il sait ce que la table est nécessaire.

OriginalL'auteur Coderino Javarino | 2016-04-15