In-memoryDB: Crie esquema em 'setup ()' de teste de unidade: NetBeans (6.5.1) Hibernate (3) Junit (3), HSQL (1.8)

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

Pergunta

Quais são as etapas necessárias para configurar um banco de dados em memória, construir o esquema automaticamente com a ferramenta 'HBM2DDL' do Hibernate dentro de uma JUNIT (3) 'Setup ()' usando o NetBeans 6.5.1? Não estou usando anotações de hibernato - apenas um arquivo de mapeamento.

Para o código real, quero usar um banco de dados no disco, é claro. [Esse é o Junits Live um pacote de 'teste' separado

Então eu acho que isso está chegando lá:

  1. Crie um projeto Java padrão no NetBeans 6.5.1, adicione a biblioteca hiberada.
  2. Crie o arquivo de mapeamento POJOS, Hibernate.cfg e hibernato.
  3. Copie o arquivo CFG e mapeamento para o pacote de teste.

O método de configuração se parece com o seguinte:

 protected void setUp() throws Exception {
         Configuration config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
    }
Foi útil?

Solução

  1. Crie um projeto Java padrão no NetBeans 6.5.1, adicione a biblioteca hiberada.
  2. Crie o arquivo de mapeamento POJOS, Hibernate.cfg e hibernato.
  3. Copie o arquivo CFG e mapeamento para o pacote de teste.

O esboço do caso de teste é assim:

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();
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top