2009-12-12 3 views
1

Quelles sont les étapes nécessaires pour configurer une base de données en mémoire , construisez le schéma automatiquement avec l'outil 'hbm2ddl' de Hibernate dans un setUp() 'Junit (3)' utilisant Netbeans 6.5.1? Je n'utilise pas les annotations Hibernate - juste un fichier de mapping.In-MemoryDB: créer un schéma dans 'setUp()' de Unit Testing: Netbeans (6.5.1) Hibernate (3) Junit (3), HSQL (1.8)

Pour le code actuel, je veux bien sûr utiliser une base de données sur disque. [Qui est le 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 fichier de mappage POJOs, hibernate.cfg et Hibernate.
  3. Copiez le fichier cfg et le fichier de mappage dans le package 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); 
    } 

Répondre

1
  1. Créer un projet standard Java dans Netbeans 6.5.1, ajouter dans la bibliothèque Hiberate.
  2. Créez le fichier de mappage POJOs, hibernate.cfg et Hibernate.
  3. Copiez le fichier cfg et le fichier de mappage dans le package 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(); 
    }