我正在尝试将一个Hibernate映射用于几个不同的数据库:H2,Oracle,MySql。
每个数据库都有不同的保留字列表。
我希望Hibernate能够自动转义保留字。
我知道我可以:
有更优雅的解决方案吗?
答案 0 :(得分:31)
AFAIK,Hibernate没有维护保留关键字列表(每个数据库)所以我认为你应该看一下数据库标识符转义。
如果您使用的是Hibernate 3.5+,请尝试hibernate.globally_quoted_identifiers=true
引用所有数据库标识符(这是他们为JPA 2.0添加的内容,请参阅规范的 2.13命名数据库对象如果您使用JPA,则以JPA的方式激活它。
在3.5版之前,Hibernate没有为全局转义提供任何配置选项。实施自定义NamingStrategy
以透明地逃避一切将是推荐的方式。