+-
java – JPA(Hibernate)和自定义表前缀
是否可以覆盖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)和自定义表前缀 - 乐贴网