Как загрузить скрипт HSQLDB с Hibernate - PullRequest
0 голосов
/ 21 февраля 2012

Я создал простую БД с помощью LibreOffice Base и экспортировал ее командой SCRIPT. Он имеет только одну табличную метку с «id» и именем. Я создал соответствующий класс с именем Tag с аннотацией @Entity и для id @ Id.

Я загружаю данные с помощью следующего кода:

public static void main(String[] args){     

    Configuration configuration=new Configuration();
    configuration.configure();
    serviceRegistry=new ServiceRegistryBuilder().applySettings(
    configuration.getProperties()).buildServiceRegistry();
    sessionFactory=configuration.buildSessionFactory(serviceRegistry);
    session=sessionFactory.openSession();
    session.beginTransaction();

    tag=(Tag) session.get(Tag.class, 1);
    session.close();
    System.out.println(tag.getName());
}

Запустив это, я получаю следующие строки:

Hibernate: выберите tag0_.id как id0_0_, tag0_.name как name0_0_ из Tag tag__, где tag0_.id =?

и NullPointerException.

В XML-файле я указал используемый файл "jdbc: hsqldb: file: testdb", также добавил тег в качестве класса отображения. Что я делаю неправильно ??

1 Ответ

0 голосов
/ 21 февраля 2012

Если вы используете Hibernate + HSQLDB для тестирования, вы можете установить свойство "hibernate.hbm2ddl.auto" в «создать» - в этом случае hibernate сам создаст требуемую схему

hibernate.hbm2ddl.auto Автоматически проверяет или экспортирует схему DDL в базу данных при создании SessionFactory. С созданием-падение, схема базы данных будет удалена при закрытии SessionFactory явно.

...