Por que você quer usar MyISAM??? Não suporta chaves estrangeiras ou transações. E raramente é mais rápido que o InnoDB, pois o InnoDB usa bloqueios de linha e MVCC, em oposição aos bloqueios de tabela completa do MyISAM.
Dito isso, você pode fazer isso funcionar. Você deve estar usando uma versão mais recente do MySQL, pois o
type
O atributo ficou obsoleto por um tempo e agora não é suportado - você precisa usar ENGINE
em vez de. Não há dialeto que suporte isso (observe que org.hibernate.dialect.MySQL5InnoDBDialect
faz a coisa certa para o InnoDB), então você precisa criar o seu próprio. Crie esta classe em src/groovy ou src/java (mude o pacote e/ou nome da classe):
package com.mycompany.myapp
import org.hibernate.dialect.MySQLMyISAMDialect
class MySQL5MyISAMDialect extends MySQLMyISAMDialect {
String getTableTypeString() {
" ENGINE=MyISAM"
}
}
e faça referência a ele em DataSource.groovy como você mostrou em sua pergunta:
dialect = com.mycompany.myapp.MySQL5MyISAMDialect