+-

是否可以覆盖JPA / Hibernate中的表名,以便为所有项目实体添加公共前缀?例如,能够通过“JBPM5_”前缀为所有JBPM 5表添加前缀.
接受答案的示例:
public class JBPM5NamingStrategy extends ImprovedNamingStrategy {
public String classToTableName(String className) {
return StringHelper.unqualify(className);
}
public String propertyToColumnName(String propertyName) {
return propertyName;
}
public String tableName(String tableName) {
return "JBPM5_" + tableName;
}
public String columnName(String columnName) {
return columnName;
}
public String propertyToTableName(String className, String propertyName) {
return "JBPM5_" + classToTableName(className) + '_'
+ propertyToColumnName(propertyName);
}
}
最佳答案
一次重命名所有表的一种方法是实现自己的namingStrategy(org.hibernate.cfg.NamingStrategy的实现).
使用的NamingStrategy在persistence.xml中指定
<property name="hibernate.ejb.naming_strategy"
value="com.example.MyNamingStrategy" />
点击查看更多相关文章
转载注明原文:java – JPA(Hibernate)和自定义表前缀 - 乐贴网