2012-02-21 3 views
0

Я создал простую базу данных с базой LibreOffice и экспортировал ее с помощью команды SCRIPT. Он имеет только один стол Tag с «id» и именем. Я создал соответствующий класс с именем Tag, с аннотацией @Entity и id @Id.Как загрузить скрипт HSQLDB с Hibernate

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

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()); 
} 

Запуск этого я получаю follwing линии:

Hibernate: выберите tag0_.id в id0_0_, tag0_.name как name0_0_ из тегов tag0_ где tag0_.id знак равно

и NullPointerException.

в файле xml Я указал файл, который будет использоваться «jdbc: hsqldb: file: testdb», также добавил тег как класс сопоставления. Что я делаю неправильно?

ответ

0

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

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

Смежные вопросы