Hibernate与HSQLDB的连接

我在设置第一个Hibernate项目时遇到了问题。 我按照教程操作并在启动代码时卡住了。 当我开始与HSQLDB建立连接时,我认为程序会卡住。 它不提供任何错误消息。
控制台中的详细输出如下:

172 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final 172 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.10.Final 172 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found 187 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist 187 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling 265 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml 265 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml 375 [main] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : org/itg/ACLwithHibernate/User.hbm.xml 484 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null 

现在它已配置,我调用buildSessionFactory():

 562 [main] INFO org.hibernate.cfg.HbmBinder - Mapping class: org.itg.ACLwithHibernate.User -> USER 577 [main] INFO org.hibernate.cfg.Configuration - Hibernate Validator not found: ignoring 593 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled. 593 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!) 593 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 10 593 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false 609 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.hsqldb.jdbcDriver at URL: jdbc:hsqldb:hsql://localhost:9001 609 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=sa, password=****} 

而且……仅此而已。 它永远不会继续我的main()类中的下一个指令。 它被卡在某处。 当我调试时,我得到了这个:

调试器概述

这是我的hibernate.cfg.xml:

    org.hsqldb.jdbcDriver jdbc:hsqldb:hsql://localhost:9001 sa   10  org.hibernate.dialect.HSQLDialect  thread  org.hibernate.cache.NoCacheProvider  true  update    

我的HSQLDB服务器正在运行并输出以下内容:

 [Server@3ed5dee4]: [Thread[org.hsqldb.Server.main(),5,org.hsqldb.Server]]: checkRunning(false) entered [Server@3ed5dee4]: [Thread[org.hsqldb.Server.main(),5,org.hsqldb.Server]]: checkRunning(false) exited [Server@3ed5dee4]: Startup sequence initiated from main() method [Server@3ed5dee4]: Loaded properties from [C:\Users\dbr\workspace\test_hibernate\server.properties] [Server@3ed5dee4]: Initiating startup sequence... [Server@3ed5dee4]: Server socket opened successfully in 0 ms. [Server@3ed5dee4]: Database [index=0, id=0, db=file:target/data/tutorial, alias=] opened sucessfully in 630 ms. [Server@3ed5dee4]: Startup sequence completed in 640 ms. [Server@3ed5dee4]: 2012-07-18 12:36:53.717 HSQLDB server 2.0.0 is online on port 9001 [Server@3ed5dee4]: To close normally, connect and execute SHUTDOWN SQL [Server@3ed5dee4]: From command line, use [Ctrl]+[C] to abort abruptly 

当server.silent = false时,当我的客户端连接时,我还得到以下内容:

 [Thread[HSQLDB Server @1af5458a,5,org.hsqldb.Server]]: handleConnection(Socket[addr=/127.0.0.1,port=49438,localport=9001]) entered [Thread[HSQLDB Server @1af5458a,5,org.hsqldb.Server]]: handleConnection() exited [Thread[HSQLDB Connection @9437a04,5,HSQLDB Connections @1af5458a]]: ODBC client connected. ODBC Protocol Compatibility Version 0.0 

你以前遇到过类似的问题吗? 你知道出了什么问题吗?
非常感谢你提前。
达尼

当HSQLDB服务器与Hibernate或其他框架一起使用时,必须检查客户端和服务器使用的HSQLDB jar版本,并确保它们都是HSQLDB的相同版本。 还必须使用最新版本的HSQLDB。

如果使用属性server.silent=false (或silent=false作为命令行参数)启动它,则很容易对HSQLDB服务器进行故障排除。 这将显示尝试的连接。

在此示例中,服务器显示:

 [Thread[HSQLDB Connection @9437a04,5,HSQLDB Connections @1af5458a]]: ODBC client connected. ODBC Protocol Compatibility Version 0.0 

这表示版本不兼容问题,因为ODBC实际上并未用于Java到HSQLDB连接。

它坚持连接到您的数据库。 用于调试从配置中删除连接池大小元素并将hbmtoddl设置为false。