БД в памяти:создайте схему в setUp() модульного тестирования:Netbeans (6.5.1) Спящий режим (3) Junit(3), HSQL (1.8)

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

Вопрос

Какие шаги необходимы для настройки базы данных в памяти, автоматического построения схемы с помощью инструмента Hibernate «hbm2ddl» в Junit (3) «setUp()» с использованием Netbeans 6.5.1?Я не использую аннотации Hibernate — просто файл сопоставления.

Для реального кода я, конечно, хочу использовать базу данных на диске.[то есть Юниты живут в отдельном «тестовом» пакете]

Итак, я думаю, что это произойдет:

  1. Создайте стандартный проект Java в Netbeans 6.5.1 и добавьте библиотеку Hiberate.
  2. Создайте POJO, hibernate.cfg и файл сопоставления спящего режима.
  3. Скопируйте файл cfg и сопоставления в тестовый пакет.

Метод установки выглядит следующим образом:

 protected void setUp() throws Exception {
         Configuration config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
    }
Это было полезно?

Решение

  1. Создайте стандартный проект Java в Netbeans 6.5.1 и добавьте библиотеку Hiberate.
  2. Создайте POJO, hibernate.cfg и файл сопоставления спящего режима.
  3. Скопируйте файл cfg и сопоставления в тестовый пакет.

Схема тестового примера выглядит следующим образом:

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();
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top