2012-02-21 93 views
0

我使用LibreOffice Base創建了簡單的數據庫並使用SCRIPT命令導出它。它只有一個帶「id」和名字的表格標籤。我創建了名爲Tag的相應類,其中註釋@Entity和id @Id。如何使用Hibernate加載HSQLDB腳本

我加載與下面的代碼數據:

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線:

休眠:從標籤tag0_其中tag0_.id選擇tag0_.id爲id0_0_,tag0_.name爲name0_0_ =?

和NullPointerException。

在xml文件中我已經指定了要使用的文件「jdbc:hsqldb:file:testdb」,同時也添加了Tag作爲映射類..我做錯了什麼?

回答

0

如果你使用Hibernate + HSQLDB測試你可以設置屬性「hibernate.hbm2ddl.auto」到 「創造」 - 在這種情況下Hibernate會自行創建所需的架構

hibernate.hbm2ddl.auto在創建SessionFactory時自動驗證或將架構DDL 導出到數據庫。對於創建刪除, ,當SessionFactory明確關閉 時,數據庫模式將被刪除。