在开发软件时,通常要求每个开发人员遵守共同的命名策略。例如,数据库的表名以及字段名的所有字符都为大写,表名“S”结尾。对于Customer类,对应的数据库表名为CUSTOMERS。一种方法是手工设置表名和字段名,但这种方法很耗时,而且容易出错。还有一种方式是实现Hibernate的NamingStrategy接口。
- import net.sf.hibernate.cfg.NamingStrategy;
- import net.sf.hibernate.util.StringHelper;
- public class MyNamingStrategy implements NamingStrategy {
- public String classToTableName(String className) {
- return StringHelper.unqualify(className).toUpperCase() + 'S';
- }
- public String propertyToColumnName(String propertyName) {
- return propertyName.toUpperCase();
- }
- public String tableName(String tableName) {
- return tableName;
- }
- public String columnName(String columnName) {
- return columnName;
- }
- public String propertyToTableName(String className, String propertyName) {
- return classToTableName(className) + '_'
- + propertyToColumnName(propertyName);
- }
- }
为了让Hibernate采用以上命名方案,需要在Hibernate初始化阶段设置Configuration对象的NamingStrategy属性,代码如下:
- Congfiguration cnofig = new Configuration();
- config.setNameingStratefy(new MyNamingStrategy());
- SessionFactory sessionFactory = config.buildSessionFactory();
名称栏目:Hibernate创建命名策略
文章链接:http://www.shufengxianlan.com/qtweb/news37/321587.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联