【问题标题】:What Hibernate 3.5.1 Dialect is best for accessing MySQL 5.1什么 Hibernate 3.5.1 方言最适合访问 MySQL 5.1
【发布时间】:2011-06-16 06:07:35
【问题描述】:

现在我正在使用 InnoDB 表,但让我感到困惑的是,如果我在数据库中使用多个引擎怎么办?

由于我在标题中使用了“最佳”,它警告说这个问题是主观的,但考虑到所讨论方言的数量非常有限,而且我不了解它们之间的区别因素(什么是最好的 em>)我需要在答案中解释这一点。

参考这里是在 org.hibernate.dialect 下找到的相关方言:

  • MySQL5方言
  • MySQL5InnoDBDialect
  • MySQL方言
  • MySQLInnoDBDialect
  • MySQLMyISAM方言

【问题讨论】:

    标签: mysql hibernate


    【解决方案1】:

    MySQL InnoDB 强制引用完整性; ISAM 没有。

    MySQL 版本 5 与早期版本不同。

    MySQLDialect 可能是第一个 Hibernate 实现的遗留物,当时没有这样的选择。

    选择与您的 MySQL 版本(您的问题中的版本 5)和您用于创建 MySQL 数据库的实现最匹配的版本。

    【讨论】:

    • 好吧,看起来很简单,如果我是,在 jpa2 条件查询抛出“javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query”后提示我询问使用 MySQL5Dialect、MySQLDialect 或 MySQL5InnoDBDialect...这将是另一个问题的主题。
    • 在创建 MySQL 表时是否应该询问 InnoDB?
    • 是的,将列命名为保留字“组”是一个愚蠢的问题。我发现如果我将列名注释从“组”重命名为“group”,问题就可以解决,但我担心这可能会导致问题,所以我只是重命名了列并重新生成了实体。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    相关资源
    最近更新 更多