springboot jpa连接mysql数据库集群(NDBCLUSTER)引擎设置

朱雀 2023-06-06 08:04 477阅读 0赞

配置集群参考https://blog.csdn.net/huaidan1469/article/details/81170511

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h5emR3Zg_size_16_color_FFFFFF_t_70

参考这段设置,设置数据库默认引擎为NDBCLUSTER

创建NDBClusterStorageEngine类

  1. import org.hibernate.dialect.MySQLStorageEngine;
  2. public class NDBClusterStorageEngine implements MySQLStorageEngine{
  3. public static final MySQLStorageEngine INSTANCE = new NDBClusterStorageEngine();
  4. @Override
  5. public boolean supportsCascadeDelete() {
  6. return true;
  7. }
  8. @Override
  9. public String getTableTypeString(String engineKeyword) {
  10. return "";
  11. }
  12. @Override
  13. public boolean hasSelfReferentialForeignKeyBug() {
  14. return true;
  15. }
  16. @Override
  17. public boolean dropConstraints() {
  18. return true;
  19. }
  20. }

创建方言类MySQL8NDBDialect

  1. public class MySQL8NDBDialect extends MySQL8Dialect {
  2. @Override
  3. protected MySQLStorageEngine getDefaultMySQLStorageEngine() {
  4. return NDBClusterStorageEngine.INSTANCE;
  5. }
  6. }

在application.properties中添加配置

  1. #NDBCLUSTER
  2. spring.jpa.database-platform=com.*.mysql.MySQL8NDBDialect

引擎配置类中的getTableTypeString方法返回为空即使用数据库默认引擎,参考InnoDBStorageEngine

发表评论

表情:
评论列表 (有 0 条评论,477人围观)

还没有评论,来说两句吧...

相关阅读