带Hibernate的动态命名表

时间:2015-05-27 08:18:38

标签: java spring hibernate

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

2 个答案:

答案 0 :(得分:1)

来自" Java Persistence with hibernate" - 您可以扩展ImprovedNamingStrategy类(实现NamingStrategy接口并提供默认行为)并覆盖方法

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

还有其他方法。 希望这会有所帮助!!

答案 1 :(得分:0)

如果你正在使用spring,你可以查看SpringNamingStrategy。它已经扩展了ImprovedNamingStrategy。如果你需要你可以覆盖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()

希望这会有所帮助。