Защо бихте искали да използвате MyISAM??? Той не поддържа външни ключове или транзакции. И рядко е по-бърз от InnoDB, тъй като InnoDB използва заключване на редове и MVCC, за разлика от заключванията за пълна таблица на MyISAM.
Като каза това, можете да накарате това да работи. Трябва да използвате по-нова версия на MySQL, тъй като type
атрибутът беше отхвърлен за известно време и сега не се поддържа - трябва да използвате ENGINE
вместо. Няма диалект, който да поддържа това (обърнете внимание, че org.hibernate.dialect.MySQL5InnoDBDialect
прави правилното нещо за InnoDB), така че трябва да създадете свой собствен.
Създайте този клас в src/groovy или src/java (променете името на пакета и/или класа):
package com.mycompany.myapp
import org.hibernate.dialect.MySQLMyISAMDialect
class MySQL5MyISAMDialect extends MySQLMyISAMDialect {
String getTableTypeString() {
" ENGINE=MyISAM"
}
}
и го препратете в DataSource.groovy, както сте показали във вашия въпрос:
dialect = com.mycompany.myapp.MySQL5MyISAMDialect