首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate表和列的自动保留字转义

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

Stack Overflow用户
提问于 2010-07-29 16:30:29
回答 1查看 15.8K关注 0票数 26

我试图为几个不同的数据库使用一个Hibernate映射: H2、Oracle、MySql。

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

我希望Hibernate自动转义保留的单词。

我知道我可以:

  • 用背靠背强制逃跑(为了安全起见,逃离一切)
  • 更改所有标识符,这样它们肯定不是任何数据库中的关键字(使它们变得丑陋)
  • 将模式绑定到特定的数据库集,转义关键字的联合(如果我向混合数据库中添加新数据库,则会中断)

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-30 02:08:12

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

如果使用Hibernate 3.5+,请尝试hibernate.globally_quoted_identifiers=true引用所有数据库标识符(这是他们为JPA2.0添加的内容,请参阅规范中数据库对象的secion 2.13命名,以便在使用JPA时以JPA的方式激活它)。

在3.5版之前,Hibernate没有为全局转义提供任何配置选项。实现自定义NamingStrategy以透明地转义所有内容将是推荐的方法。

另请参阅

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3364835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档