En-MemoryDB: créer le schéma dans 'setUp ()' de tests unitaires: Netbeans (6.5.1) Mise en veille prolongée (3) Junit (3), HSQL (1,8)

StackOverflow https://stackoverflow.com/questions/1893737

Question

Quelles sont les étapes nécessaires à une configuration en mémoire DB, construire le schéma automatiquement avec l'outil « hbm2ddl » Hibernate dans un Junit (3) « setUp () » en utilisant Netbeans 6.5.1? Je ne suis pas en utilisant des annotations Hibernate -. Juste un fichier de mappage

Pour le code actuel, je veux utiliser une base de données sur disque bien sûr. [À savoir les Junits vivent un paquet 'test' séparé]

Je pense donc que cela devient là:

  1. Créer un projet standard Java dans Netbeans 6.5.1, ajouter dans la bibliothèque Hiberate.
  2. Créez le POJO, hibernate.cfg et mise en veille prolongée fichier de mappage.
  3. Copiez le fichier CFG et la cartographie à l'ensemble de test.

La méthode de configuration ressemble à ceci:

 protected void setUp() throws Exception {
         Configuration config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
    }
Était-ce utile?

La solution

  1. Créer un projet standard Java dans Netbeans 6.5.1, ajouter dans la bibliothèque Hiberate.
  2. Créez le POJO, hibernate.cfg et mise en veille prolongée fichier de mappage.
  3. Copiez le fichier CFG et la cartographie à l'ensemble de test.

Les grandes lignes du scénario de test ressemble à ceci:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
...
public class DatabaseTest extends TestCase {
    private static Configuration config;
    private static SessionFactory sessionFactory;
    private static Session session;
...
    @Override
    protected void setUp() throws Exception {
         config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
         sessionFactory = config.buildSessionFactory();
         session=sessionFactory.openSession();
    }
...
    @Override
    protected void tearDown() throws Exception {
        session.close();
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top