Tại sao bạn muốn sử dụng MyISAM ??? Nó không hỗ trợ khóa hoặc giao dịch nước ngoài. Và nó hiếm khi nhanh hơn InnoDB vì InnoDB sử dụng khóa hàng và MVCC, trái ngược với khóa toàn bảng của MyISAM.
Có nói rằng, bạn có thể làm cho điều này làm việc. Bạn phải đang sử dụng phiên bản MySQL mới hơn kể từ loại type
thuộc tính đã không được chấp nhận trong một thời gian và hiện không được hỗ trợ - bạn phải sử dụng ENGINE
thay thế. Không có phương ngữ nào hỗ trợ điều này (lưu ý rằng org.hibernate.dialect.MySQL5InnoDBDialect
làm điều đúng đắn cho InnoDB), vì vậy bạn cần phải tạo của riêng mình.
Tạo lớp này trong src / groovy hoặc src / java (thay đổi gói và / hoặc tên lớp):
package com.mycompany.myapp
import org.hibernate.dialect.MySQLMyISAMDialect
class MySQL5MyISAMDialect extends MySQLMyISAMDialect {
String getTableTypeString() {
" ENGINE=MyISAM"
}
}
và tham chiếu nó trong DataSource.groovy như bạn đã hiển thị trong câu hỏi của mình:
dialect = com.mycompany.myapp.MySQL5MyISAMDialect