Hibernate 命名策略

定制自己的命名策略,必须要实现一个接口,或继承自这两个类

 

接口: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对象之前

 

你可能感兴趣的:(Hibernate,bean)