Waarom zou je MyISAM willen gebruiken??? Het ondersteunt geen externe sleutels of transacties. En het is zelden sneller dan InnoDB, aangezien InnoDB rijvergrendelingen en MVCC gebruikt, in tegenstelling tot de volledige tafelvergrendelingen van MyISAM.
Dat gezegd hebbende, kunt u dit laten werken. U moet een nieuwere versie van MySQL gebruiken sinds het type
attribuut is een tijdje verouderd en wordt nu niet ondersteund - je moet ENGINE
gebruiken in plaats van. Er is geen dialect dat dit ondersteunt (merk op dat org.hibernate.dialect.MySQL5InnoDBDialect
doet het juiste voor InnoDB), dus je moet er zelf een maken.
Maak deze klasse aan in src/groovy of src/java (wijzig de naam van het pakket en/of de klasse):
package com.mycompany.myapp
import org.hibernate.dialect.MySQLMyISAMDialect
class MySQL5MyISAMDialect extends MySQLMyISAMDialect {
String getTableTypeString() {
" ENGINE=MyISAM"
}
}
en verwijs ernaar in DataSource.groovy zoals je liet zien in je vraag:
dialect = com.mycompany.myapp.MySQL5MyISAMDialect