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

回到顶部