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)
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à:
- Créer un projet standard Java dans Netbeans 6.5.1, ajouter dans la bibliothèque Hiberate.
- Créez le POJO, hibernate.cfg et mise en veille prolongée fichier de mappage.
- 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);
}
La solution
- Créer un projet standard Java dans Netbeans 6.5.1, ajouter dans la bibliothèque Hiberate.
- Créez le POJO, hibernate.cfg et mise en veille prolongée fichier de mappage.
- 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