我正在使用hibernate在spring mvc中工作。我是这项技术的新手。我需要在运行时更改hibernate实体类表名吗?
@Entity
@Table(name="tableName")
public class DynamicTable{
// column name with get set methods.
....
}
这里我需要在运行时更改表名。我的专栏只是一样的。是否可以更改表名?如果可能的话请好好解释一下?如果没有告诉我这个问题的替代解决方案。
答案 0 :(得分:0)
package net.petrikainulainen.hibernate.util;
import org.hibernate.cfg.ImprovedNamingStrategy;
public class CustomNamingStrategy extends ImprovedNamingStrategy {
private static final String PLURAL_SUFFIX = "s";
@Override
public String classToTableName(String className) {
String tableNameInSingularForm = super.classToTableName(className);
return transformToPluralForm(tableNameInSingularForm);
}
private String transformToPluralForm(String tableNameInSingularForm) {
StringBuilder pluralForm = new StringBuilder();
pluralForm.append(tableNameInSingularForm);
pluralForm.append(PLURAL_SUFFIX);
return pluralForm.toString();
}
}