创建表时如何让休眠状态使用 InnoDB 而不是 MyISAM?Hibernate的建议:创建 Mysql InnoDB 表而不是 MyISAM对我不起作用。
我正在使用 Glassfish 3.1.2 和 MySql 5。我还在 Mac OSX Lion 上通过 XAMPP 安装了 MySQL。
创建表时如何让休眠状态使用 InnoDB 而不是 MyISAM?Hibernate的建议:创建 Mysql InnoDB 表而不是 MyISAM对我不起作用。
我正在使用 Glassfish 3.1.2 和 MySql 5。我还在 Mac OSX Lion 上通过 XAMPP 安装了 MySQL。
经过大量研究,我了解到将数据库默认设置为 InnoDB 并不是一个好习惯。给出了很多原因,例如 InnoDB 价格昂贵。鉴于所有原因,我得出的结论是,如果将 InnoDB 设为默认是最佳实践,那么很可能数据库会被配置为这样。所以我一直在寻找不同的解决方案。
无论如何,解决方案是这样的:转到 glassfish 并将以下属性添加到有问题的 JDBC 连接池中。
Name: SessionVariables
Value: storage_engine=InnoDB.
这对我来说就像一个魅力。如果有人有更好的解决方案,我真的很想听听。