Pourquoi voudriez-vous utiliser MyISAM ??? Il ne prend pas en charge les clés étrangères ou les transactions. Et il est rarement plus rapide qu'InnoDB car InnoDB utilise des verrous de ligne et MVCC, par opposition aux verrous de table complète de MyISAM.
Cela dit, vous pouvez le faire fonctionner. Vous devez utiliser une version plus récente de MySQL depuis le type
l'attribut a été obsolète pendant un certain temps et n'est plus pris en charge - vous devez utiliser ENGINE
Au lieu. Il n'y a pas de dialecte qui supporte cela (notez que org.hibernate.dialect.MySQL5InnoDBDialect
fait ce qu'il faut pour InnoDB), vous devez donc créer le vôtre.
Créez cette classe dans src/groovy ou src/java (changez le nom du package et/ou de la classe) :
package com.mycompany.myapp
import org.hibernate.dialect.MySQLMyISAMDialect
class MySQL5MyISAMDialect extends MySQLMyISAMDialect {
String getTableTypeString() {
" ENGINE=MyISAM"
}
}
et référencez-le dans DataSource.groovy comme vous l'avez montré dans votre question :
dialect = com.mycompany.myapp.MySQL5MyISAMDialect