HSQLDB(内存模式)& Hibernate - DB不更新

时间:2012-09-27 02:03:24

标签: hibernate hsqldb in-memory-database

我已经按照步骤设置了HSQLDB和Hibernate。现在创建了一个小用户详细信息实体类。并创建了hibernate.cfg文件,给出了我的实体类addr。程序执行正确,但是当我打开数据库时,细节不会更新。

这是我第一次使用im-mem数据库,真的很难理解它是如何工作的。

只是无法理解这里的错误......

我从eclipse lib文件夹启动服务器(我已经添加了hsqldb jar)

然后执行主类,没有显示错误或异常,能够在控制台中看到sql查询。但是db

中没有任何内容

我的hibernate.cfg如下

<hibernate-configuration>
<session-factory>
    <!-- Database connection settings -->
    <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
    <property name="connection.url">jdbc:hsqldb:mem:testdb</property>
    <property name="connection.username">java</property>
    <property name="connection.password"></property>

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

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

    <!-- Enable Hibernate's current session context -->
    <property name="current_session_context_class">org.hibernate.context.ManagedSessionContext</property>

    <property name="hibernate.cache.use_second_level_cache">false</property>
    <property name="hibernate.cache.use_query_cache">false</property>

    <!-- Disable the second-level cache  -->
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>        
    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>

    <property name="hbm2ddl.auto">create</property> 

    <!-- the annotated entity class -->
    <mapping class = "com.javaapp.addressbook.dto.UserDetails"/>

</session-factory>

附上eclipse快照

提前致谢

1 个答案:

答案 0 :(得分:4)

您正在连接到存储在应用程序进程中的内存数据库:

<property name="connection.url">jdbc:hsqldb:mem:testdb</property>

如果要连接到HSQLDB服务器提供的数据库,那么您的URL应如下所示:

<property name="connection.url">jdbc:hsqldb:hsql://localhost/testdb</property>

实际的URL取决于您配置服务器的方式。