import org.hibernate.cfg.ImprovedNamingStrategy;
@SuppressWarnings("serial")
public class NightNamingStrategy extends ImprovedNamingStrategy
{
private String tablePrefix = "t_";
private String columnPrefix = "c_";
@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 (this.columnPrefix + super.propertyToColumnName(propertyName)).toUpperCase();
}
@Override
public String classToTableName(String className)
{
return (this.tablePrefix + super.classToTableName(className)).toUpperCase();
}
}
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!--配置命名规则-->
<property name="namingStrategy">
<bean class="naming.NightNamingStrategy"></bean>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">${hbm2ddl.auto}</prop>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${show_sql}</prop>
<prop key="hibernate.format_sql">${format_sql}</prop>
<!--<prop key="hibernate.current_session_context_class">thread</prop>-->
</props>
</property>
<property name="packagesToScan" value="tpcframework" />
</bean>