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>