Hibernate 命名策略

本文介绍如何通过实现Hibernate的NamingStrategy接口来定制命名策略,包括类到表名、属性到列名等转换规则,并展示了具体的代码实现及配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值