In-MemoryDB: creare schema in 'setup ()' di Unit Testing: Netbeans (6.5.1) Hibernate (3) Junit (3), HSQL (1.8)

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

Domanda

Quali sono i passi necessari per configurare un in-memory DB, costruire lo schema automaticamente con lo strumento di Hibernate 'hbm2ddl' all'interno di una Junit (3) 'setup ()' usando Netbeans 6.5.1? Non sto usando le annotazioni di Hibernate -. Solo un file di mapping

Per il codice vero e proprio, voglio usare un database on-disk, naturalmente. [Cioè i Junits vivono un pacchetto separato 'test']

Quindi penso che questo è sempre lì:

  1. Creare un progetto standard di Java in NetBeans 6.5.1, aggiungere nella biblioteca in Hibernate.
  2. Crea il POJO, hibernate.cfg e hibernate file di mapping.
  3. Copiare il file CFG e la mappatura al pacchetto di prova.

Il metodo di configurazione è simile al seguente:

 protected void setUp() throws Exception {
         Configuration config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
    }
È stato utile?

Soluzione

  1. Creare un progetto standard di Java in NetBeans 6.5.1, aggiungere nella biblioteca in Hibernate.
  2. Crea il POJO, hibernate.cfg e hibernate file di mapping.
  3. Copiare il file CFG e la mappatura al pacchetto di prova.

Lo schema del banco di prova simile a questo:

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();
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top