带Hibernate的动态命名表

是否可以使用hibernate动态设置表的名称和带有注释的实体类中提到的字段。 我发现这就是所谓的命名策略,但我不太了解它。 首先,我想知道动态定义表名称和字段名称的可能解决方案是什么? 其次,有人可以向我解释一下ImprovedNamingStrategy类的主要作用并引用一个使用示例。

从“Java Persistence with hibernate” – 您可以扩展ImprovedNamingStrategy类(实现NamingStrategy接口并提供默认行为)并覆盖方法

public String tableName(String tableName) { return "YourTableName"; }

还有其他方法。 希望这可以帮助!!

如果你使用spring,你可以查看SpringNamingStrategy。它已经扩展了ImprovedNamingStrategy.If要求你可以覆盖classToTableName方法。如果你使用spring-boot,这个类名可以用属性spring.jpa外部化。 hibernate.naming-strategy。 http://docs.spring.io/autorepo/docs/spring-boot/1.1.5.RELEASE/api/org/springframework/boot/orm/jpa/SpringNamingStrategy.html#SpringNamingStrategy()

希望这有帮助。