springboot jpa连接mysql数据库集群(NDBCLUSTER)引擎设置
配置集群参考https://blog.csdn.net/huaidan1469/article/details/81170511
参考这段设置,设置数据库默认引擎为NDBCLUSTER
创建NDBClusterStorageEngine类
import org.hibernate.dialect.MySQLStorageEngine;
public class NDBClusterStorageEngine implements MySQLStorageEngine{
public static final MySQLStorageEngine INSTANCE = new NDBClusterStorageEngine();
@Override
public boolean supportsCascadeDelete() {
return true;
}
@Override
public String getTableTypeString(String engineKeyword) {
return "";
}
@Override
public boolean hasSelfReferentialForeignKeyBug() {
return true;
}
@Override
public boolean dropConstraints() {
return true;
}
}
创建方言类MySQL8NDBDialect
public class MySQL8NDBDialect extends MySQL8Dialect {
@Override
protected MySQLStorageEngine getDefaultMySQLStorageEngine() {
return NDBClusterStorageEngine.INSTANCE;
}
}
在application.properties中添加配置
#NDBCLUSTER
spring.jpa.database-platform=com.*.mysql.MySQL8NDBDialect
引擎配置类中的getTableTypeString方法返回为空即使用数据库默认引擎,参考InnoDBStorageEngine
还没有评论,来说两句吧...