2013-04-15 30 views
0

我正在使用hibernate管理數據庫操作和MySQL中的應用程序 - 使用org.hibernate.dialect.MySQLInnoDBDialect作爲hibernate方言。但出於測試目的,我使用的是HSQLDB 1.8.0.10。hsqldb中的mysql方言

我有問題,像這樣的查詢(不HSQL mysql的工作好):

SELECT DISTINCT(id) FROM table ORDER BY name; 

我知道這個問題是具有鮮明和ORDER BY(http://weblogs.sqlteam.com/jeffs/archive/2007/12/13/select-distinct-order-by-error.aspx)和這種解決方案可能是例如:

SELECT DISTINCT(id) FROM table GROUP BY id ORDER BY MAX(name); 

但我的問題是,如果有任何可能性,在HSQLDB使用MySQL的方言,而不必使用此解決方案?

回答

2

HSQLDB正確執行SQL標準並且不允許模糊查詢。不可能改變它的行爲。

最好將您的MySQL查詢修改爲符合標準。這使您可以更輕鬆地將應用程序移植到其他數據庫。