GWT + 休眠 + HSQLDB
Posted
技术标签:
【中文标题】GWT + 休眠 + HSQLDB【英文标题】:GWT + Hibernate + HSQLDB 【发布时间】:2011-06-28 12:05:36 【问题描述】:您好,我快速实现了这一点:
http://code.google.com/webtoolkit/articles/using_gwt_with_hibernate.html
我创建了一个简单的登录实现。我创建了一个简单的登录页面和登录按钮来触发服务。
LoginServiceImpl.java 内部:
@Override
public void createAccount(Account user)
try
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
catch (HibernateException e)
e.printStackTrace();
catch (InvocationException e)
e.printStackTrace();
但是,我得到了这个控制台输出(截断):
1110 [btpool0-0] INFO org.hibernate.tool.hbm2ddl.SchemaExport - schema export complete
Hibernate: insert into ACCOUNT (ACCOUNT_ID, name, password) values (null, ?, ?)
Hibernate: call identity(
)
在从 Eclipse 启动 GWT 应用程序之前,我运行以下命令:
java -cp hsqldb.jar org.hsqldb.Server
从 HSQLDB 控制台(调用服务时):
[Server@691f36]: A pre-9.0 client attempted to connect. We rejected them.
是否有解决办法或者我应该使用不同的数据库?
谢谢。
【问题讨论】:
【参考方案1】:问题是这样的:当你运行时,你的类路径中有 HSQLDB 2.0.0
java -cp hsqldb.jar org.hsqldb.Server
但在 Eclipse 中,正在使用 HSQLDB 1.8 的副本。当 Eclipse 尝试连接到 HSQLDB 服务器时,它使用这个 1.8 jar,然后服务器抱怨旧版本正在尝试连接。
如果您只是想试验,请使用 HSQLDB 1.8 jar(较小的 jar 约 700 K)来运行服务器。
【讨论】:
【参考方案2】:你是如何配置 Hibenrate 的。如果您使用 Hibernate.cfg.xml 文件,请确保您已指定正确的方言。即使使用 HSQLDB 也应该可以工作。
【讨论】:
以上是关于GWT + 休眠 + HSQLDB的主要内容,如果未能解决你的问题,请参考以下文章