Hsql嵌入式swing应用程序不能作为可执行jar运行

时间:2014-02-23 15:47:51

标签: java hibernate hsqldb

您好我创建了一个Hibernate驱动的hsql嵌入式swing应用程序..当我运行eclipse juno版本时它运行完美。之后我导出为runnable jar文件运行它。但是没有检索,添加数据库......! !!

项目目录,如

项目 ..src .....道 ..... daoimpl .....服务队 ..... serviceimpl .....域 .....主要 .....的hibernate.cfg.xml ..db / HSQL /库 ............. library.script

hibernate.cfg.xml中

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
  <session-factory>
    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.HSQLDialect</property> 

    <!-- Database connection settings --> 
    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
        <property name="hibernate.connection.url">jdbc:hsqldb:db/hsql/library;shutdown=true</property>
        <property name="hibernate.connection.username">sa</property>
        <property name="hibernate.connection.password">sa</property>
        <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>


    <!-- JDBC connection pool (use the built-in one) -->
    <property name="connection.pool_size">1</property> 

    <!-- Enable Hibernate's automatic session context management -->
    <property name="current_session_context_class">thread</property>

    <!-- Disable the second-level cache  --> 
    <property
     name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

    <!-- disable batching so HSQLDB will propagate errors correctly. -->
    <property name="jdbc.batch_size">0</property> 

    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property> 

    <!-- List all the mapping documents we're using --> 
    <mapping class="com.habitz.librarymanagement.domain.Admin" />
        <mapping class="com.habitz.librarymanagement.domain.Book" />
        <mapping class="com.habitz.librarymanagement.domain.Category" />
        <mapping class="com.habitz.librarymanagement.domain.Group" />
        <mapping class="com.habitz.librarymanagement.domain.Issue" />
        <mapping class="com.habitz.librarymanagement.domain.Member" />
  </session-factory>
</hibernate-configuration>

有人知道请帮忙...... !!

1 个答案:

答案 0 :(得分:0)

此属性创建一个相对于执行jar的位置的数据库。

<property name="hibernate.connection.url">jdbc:hsqldb:db/hsql/library;shutdown=true</property>

相对网址不起作用。使用绝对URL。例如,您可以将用户的目录用于数据库文件,或者安装应用程序的目录。