定制自己的命名策略,必须要实现一个接口,或继承自这两个类
接口: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的NamingStrategy接口来定制命名策略,包括类到表名、属性到列名等转换规则,并展示了具体的代码实现及配置方法。
750

被折叠的 条评论
为什么被折叠?



