Seam下面使用Hibernate的命名策略
在components.xml下增加如下配置
<component name="namingStrategy"
class="com.kingdom.gemini.common.utils.KSNamingStrategy" />
<persistence:hibernate-session-factory
name="hibernateSessionFactory">
<persistence:naming-strategy>#{namingStrategy}</persistence:naming-strategy>
</persistence:hibernate-session-factory>
这里是个简要的命名策略
public class KSNamingStrategy extends ImprovedNamingStrategy {
private static final long serialVersionUID = -1802297815137696772L;
@Override
public String collectionTableName(String ownerEntity,
String ownerEntityTable, String associatedEntity,
String associatedEntityTable, String propertyName) {
return tableName(ownerEntityTable + "_" + associatedEntityTable);
}
@Override
public String propertyToColumnName(String propertyName) {
return "c_" + super.propertyToColumnName(propertyName).toUpperCase();
}
@Override
public String classToTableName(String className) {
return "tbl_" + super.classToTableName(className).toUpperCase();
}
}
本文介绍如何在Seam框架中配置并使用自定义的Hibernate命名策略。通过配置components.xml文件,实现了一种特殊的表名及字段名转换规则,如表名前缀添加'tbl_'并转为大写,字段名前缀添加'c_'并转为大写等。
1万+

被折叠的 条评论
为什么被折叠?



