In-MemoryDB: create schema in 'setUp ()' von Unit Testing: Netbeans (6.5.1) Hibernate (3) Junit (3), HSQL (1.8)

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

Frage

Was sind die Schritte zum Einrichten einer benötigten In-Memory-DB, das Schema baut automatisch mit Hibernate 'hbm2ddl' Werkzeug innerhalb eines Junit (3) 'setUp ()' mit Netbeans 6.5.1? Ich bin nicht mit Hibernate Annotations -. Nur eine Mapping-Datei

Für den eigentlichen Code, ich möchte eine On-Disk verwenden Datenbank natürlich. [Dh die Junits leben ein separates 'Test' Paket]

Also ich denke, das ist immer da:

  1. Erstellen Sie ein Standard-Java-Projekt in Netbeans 6.5.1, fügen Sie in der Hiberate Bibliothek.
  2. Erstellen Sie die POJOs, hibernate.cfg und Mapping-Datei überwintern.
  3. Kopieren Sie die cfg und Mapping-Datei in das Testpaket.

Das Setup-Verfahren sieht wie folgt aus:

 protected void setUp() throws Exception {
         Configuration config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
    }
War es hilfreich?

Lösung

  1. Erstellen Sie ein Standard-Java-Projekt in Netbeans 6.5.1, fügen Sie in der Hiberate Bibliothek.
  2. Erstellen Sie die POJOs, hibernate.cfg und Mapping-Datei überwintern.
  3. Kopieren Sie die cfg und Mapping-Datei in das Testpaket.

Der Umriss des Testfall sieht wie folgt aus:

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();
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top