2011-06-28 96 views
0

您好我做了一個快速實現這一點:GWT +休眠+ HSQLDB

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(

在我開始從日食的GWT應用程序,我運行此命令:

java -cp hsqldb.jar org.hsqldb.Server 

而且從HSQLDB控制檯(當服務被調用):

[[email protected]]: A pre-9.0 client attempted to connect. We rejected them. 

是否有這樣或我應該使用不同的數據庫修復?

謝謝。

回答

1

問題是這樣的:你已經得到HSQLDB 2.0.0在classpath中,當您運行

java -cp hsqldb.jar org.hsqldb.Server 

但在Eclipse中,正在使用HSQLDB 1.8的副本。當Eclipse嘗試連接到HSQLDB服務器時,它使用這個1.8 jar文件,然後服務器抱怨舊版本試圖連接。

如果您只是想嘗試一下,請使用HSQLDB 1.8 jar(較小的jar大約700 K)來運行服務器。

+0

感謝真的幫助,現在工作。 – xybrek

0

如何配置Hibenrate。如果你使用Hibernate.cfg.xml文件,那麼確保你已經指定了正確的方言。即使有HSQLDB也應該工作。