代码之家  ›  专栏  ›  技术社区  ›  Roman Zenka

Hibernate表和列的自动保留字转义

  •  22
  • Roman Zenka  · 技术社区  · 14 年前

    每个数据库都有不同的保留字列表。

    我想冬眠自动转义保留字。

    • 使用backticks强制逃逸(为了安全而逃逸)
    • 更改所有标识符,使它们肯定不是任何数据库中的关键字(使其难看)
    • 将模式绑定到一组特定的数据库,转义关键字的并集(如果我向混合中添加新数据库,则会中断)

    有没有更优雅的解决方案?

    1 回复  |  直到 14 年前
        1
  •  32
  •   Pascal Thivent    14 年前

    好吧,Hibernate不维护保留关键字列表(每个数据库),所以我认为您应该查看数据库标识符转义。

    如果您使用的是Hibernate 3.5+,请尝试 hibernate.globally_quoted_identifiers=true 2.13数据库对象命名

    在3.5版本之前,Hibernate不提供任何全局转义的配置选项。实现自定义 NamingStrategy

    另请参见