我试图对多个不同的数据库使用一种Hibernate映射:H2,Oracle,MySql。
每个数据库都有一个不同的保留字列表。
我希望Hibernate自动转义保留字。
我知道我可以:
有没有更优雅的解决方案?
最佳答案
AFAIK,Hibernate不会维护(每个数据库)保留关键字的列表,因此我认为您应该查看数据库标识符转义。
如果您使用的是Hibernate 3.5+,请尝试使用hibernate.globally_quoted_identifiers=true
引用所有数据库标识符(这是它们为JPA 2.0添加的内容,请参见secion 2.13规范的数据库对象命名,有关使用JPA的JPA激活方式(如果您使用的是JPA) )。
在3.5版之前,Hibernate不提供任何用于全局转义的配置选项。建议使用自定义NamingStrategy
透明地转义所有内容。
也可以看看