Hibernate修改命名策略

>

两步:

第一步:写一个替代Hibernate默认命名规则类(本类目标是把java【骆驼命名】 转换成 【下划线命名】)

package paltform.init;

import org.hibernate.cfg.ImprovedNamingStrategy;
import org.hibernate.cfg.NamingStrategy;

/**
 * HIBERNATE 数据库字段命名规则
 * */
public class HibernateNamingStrategy extends ImprovedNamingStrategy implements NamingStrategy {
    private static final long serialVersionUID = 1L;

    @Override
        public String columnName(String columnName) {
            return addUnderscores(columnName).toUpperCase();
        }

        @Override
        public String tableName(String tableName) {
            return addUnderscores(tableName).toUpperCase();
        }
}

第二:创建SessionFactory设置一下


package paltform.util;

import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;

import paltform.init.HibernateNamingStrategy;

public class UtilHibernate {

    private static final String HB_CONFIG_PATH   = "platform/hibernate.cfg.xml";
    private static SessionFactory sessionFactory = null;
    
    /**
     * Get session factory
     * -----------------------
     * @return Return sessionFactory
     * */
    public synchronized static SessionFactory getSessionFactory(){
        if(sessionFactory == null){
            Configuration cfg                  = new Configuration().configure(HB_CONFIG_PATH);
            cfg.setNamingStrategy(new HibernateNamingStrategy()); // 修改HIBERNATE命名规范
            StandardServiceRegistryBuilder srb = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties());
            StandardServiceRegistry sr         = srb.build();
            sessionFactory                     = cfg.buildSessionFactory(sr);
        }
        return sessionFactory;
    }

}

Hibernate修改命名策略

时间: 2024-10-30 14:57:54

Hibernate修改命名策略的相关文章

hibernate创建命名策略

1.hibernate提供命名接口NamingStrategy.同时提供两种参考的命名策略.DefaultNamingStaregy 和ImporvedNamingStartegy 覆盖对应的方法就可以了. 2.如何在定义数据库表的时候,没有定义table ,则调用,定义了就按定义的命名策略. 3.类的属性同上. 4.让配置策略起左右.  new Configuration .setNamingStrategy(new MyNamingStrategy()) ;

Hibernate命名策略

hibernate的命名策略,可以减少对数据库标识符命名的维护,进一步减少这部份命名的重复性代码量,以提高维护. hibernate的命名方式,有两类,一类是显式命名,一类是隐式命名. 显式命名:在映射配置时,设置的数据库表名,列名等,就是进行显式命名. 隐式命名:显式命名一般不是必要的,所以可以选择当不设置名称,这时就交由hibernate进行隐式命名,另外隐式命名还包括那些不能进行显式命名的数据库标识符.接口ImplicitNamingStrategy,就是用于实现隐式命名. 过滤命名:接口

攻城狮在路上(壹) Hibernate(三)--- 属性访问、命名策略、派生属性、指定包名等

一.hibernate访问持久化类属性的策略: 在<property>元素中的access属性用于指定Hibernate访问持久化类属性的方式. 常见的方式如下: 1.property:默认值.hibernate通过相应的getXXX()和setXXX()方法. 2.field:hibernate运用反射机制直接访问类的属性. 3.自定义方式:自己写一个实现org.hibernate.property.PropertyAccessor接口的类,在access属性中写类的全限定名. 举例: ?

spring boot 中Spring data jpa数据库表字段命名策略

spring boot 中Spring data jpa命名策略 数据库,表字段命名是驼峰命名法(UserID),Spring data jpa 自动更新之后是 user_id, 表字段不对照, Spring data jpa基于Hibernate5.0 application.properties 写法 1.无修改命名 spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNa

Win7修改密码策略

第一步.Win+R打开cmd窗口输入gpedit.msc 第二步.修改密码策略(打开"计算机配置"-->"安全设置"-->"账户策略"-->"密码策略") 第三步.修改密码复杂度.密码使用期限 第四步.设置密码锁定次数 第五步.cmd下设置密码[net user administrator Hell0!jie]

hibernate抓取策略学习

一.hibernate抓取策略概述 Hibernate抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略.抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明. 需要注意的是:hibernate的抓取策略只影响get load 方法,对hql是不影响的. 二.hibernate 抓取策略分类 hibernate有如下

Hibernate对象标识符生成策略

increment:由Hibernate自动以递增的方式生成标识符,适用于代理主键: identity:由底层数据库生成标识符,适用于代理主键: sequcence:由Hibernate根据底层数据库的序列生成标识符,适用于代理主键:(MySQL不适用) hilo:由Hibernate根据high/low算法生成标识符,适用于代理主键: native:根据底层数据库对自动生成标识符的支持能力,来选择identity/sequcence/hilo,适用于代理主键. 使用increment生成的表是

Windows 2008 修改密码策略

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/44002455 对于有效期,如果设置为0,则代表永不失效. 至此,对于修改密码策略简要演示完毕. 小知识,简而记之. 原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://

029 hibernate抓取策略

实例A引用实例B,B如果是代理的话(比如多对一关联中):如果遍历A的查询结果集(假设有10条记录),在遍历A的时候,访问B变量,将会导致n次查询语句的发出!这个时候,如果在B一端的class上配置batch-size,hibernate将会减少SQL语句的数量. Hibernate可以充分有效的使用批量抓取,也就是说,如果仅一个访问代理(或集合),那么hibernate将不载入其他未实例化代理.批量抓取是延迟查询抓取的优化方案,你可以在两种批量抓取方案之间进行选择:在类级别和集合级别. 类/实体