java – 如何让EclipseLink创建MySQL InnoDB表?

它默认生成MyISAM表.我不想让它生成一个DDL脚本然后编辑,如果我可以避免它.我还想避免更改MySQL安装的默认表类型,除非我可以为在线一个数据库执行此操作.有任何想法吗?
最佳答案
除了编辑脚本或在MySQL中设置默认类型之外,看不到任何其他方法.

记录了此错误,请投票支持,

https://bugs.eclipse.org/bugs/show_bug.cgi?id=214519

EclipseLink支持在其TableDefinition setCreationSuffix()中使用postFix创建表,例如engine = InnoDB,但不支持任何生成此方法的方法,并且不为默认表生成提供事件或平台挂钩(这将非常有用) .

您可以自己使用EclipseLink DefaultTableGenerator在SessionCustomizer中自己生成表.您将调用generateDefaultTableCreator()然后循环其TableDefitions添加设置InnoDB后缀,然后告诉它创建表.所有类都在org.eclipse.persistence.tools.schemaframework包中.

转载注明原文:java – 如何让EclipseLink创建MySQL InnoDB表? - 代码日志