Hibernate创建命名策略

在开发软件时,通常要求每个开发人员遵守共同的命名策略。例如,数据库的表名以及字段名的所有字符都为大写,表名“S”结尾。对于Customer类,对应的数据库表名为CUSTOMERS。一种方法是手工设置表名和字段名,但这种方法很耗时,而且容易出错。还有一种方式是实现Hibernate的NamingStrategy接口。

 
 
 
  1. import net.sf.hibernate.cfg.NamingStrategy;
  2. import net.sf.hibernate.util.StringHelper;
  3. public class MyNamingStrategy implements NamingStrategy {
  4.     public String classToTableName(String className) {
  5.         return StringHelper.unqualify(className).toUpperCase() + 'S';
  6.     }
  7.     public String propertyToColumnName(String propertyName) {
  8.         return propertyName.toUpperCase();
  9.     }
  10.     public String tableName(String tableName) {
  11.         return tableName;
  12.     }
  13.     public String columnName(String columnName) {
  14.         return columnName;
  15.     }
  16.     public String propertyToTableName(String className, String propertyName) {
  17.         return classToTableName(className) + '_'
  18.                 + propertyToColumnName(propertyName);
  19.     }
  20. }

为了让Hibernate采用以上命名方案,需要在Hibernate初始化阶段设置Configuration对象的NamingStrategy属性,代码如下:

 
 
 
  1. Congfiguration cnofig = new Configuration();
  2. config.setNameingStratefy(new MyNamingStrategy());
  3. SessionFactory sessionFactory = config.buildSessionFactory();

名称栏目:Hibernate创建命名策略
文章链接:http://www.hantingmc.com/qtweb/news37/321587.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联