定制自己的命名策略,必须要实现一个接口,或继承自这两个类
接口:org.hibernate.cfg.NamingStrategy;
类:org.hibernate.cfg.ImprovedNamingStrategy;
类:org.hibernate.cfg.DefaultNamingStrategy;
以下是实现了org.hibernate.cfg.NamingStrategy接口的代码
package cn.lxl.bean; import org.hibernate.cfg.NamingStrategy; public class Naming implements NamingStrategy { @Override public String classToTableName(String arg0) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String collectionTableName(String arg0, String arg1, String arg2, String arg3, String arg4) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String columnName(String arg0) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String foreignKeyColumnName(String arg0, String arg1, String arg2, String arg3) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String joinKeyColumnName(String arg0, String arg1) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String logicalCollectionColumnName(String arg0, String arg1, String arg2) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String logicalCollectionTableName(String arg0, String arg1, String arg2, String arg3) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String logicalColumnName(String arg0, String arg1) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String propertyToColumnName(String arg0) { // TODO Auto-generated method stub return arg0+"lxl"; } @Override public String tableName(String tableName) { // TODO Auto-generated method stub return tableName+"lxl"; } }
根据自己的需要实现上面的方法,实现自己的目标
类写好了,怎么生效了
Configuration cfg=new Configuration().setNamingStrategy(new Naming()).configure();
要写在创建SessionFactory对象之前