JPA(休眠)和自定义表前缀
是否可以在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" />
以上是 JPA(休眠)和自定义表前缀 的全部内容, 来源链接: utcz.com/qa/426073.html