商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Hibernate 主清单文件配制的详细介绍

Hibernate 主清单文件配制的详细介绍

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

Hibernate 的配置文件是每个使用该框架的开发者都会接触到的核心环节。它决定了数据源、方言、映射文件等一系列关键设置,可以说是整个 ORM 体系的门户。下面我们就来详细拆解一下主清单文件(hibernate.cfg.xml)的配置细节,包括两种加载方式、各项核心参数的含义,以及二级缓存的配置方法。

1. Hibernate 清单配置文件

Hibernate 启动时,默认会扫描工程 src 目录下的 hibernate.cfg.xml 文件。这种方式最为常见,直接使用 Configuration().configure() 即可加载:

public class H3Utils {
    private static SessionFactory factory = new Configuration().configure().buildSessionFactory();
    public static Session getCurrentSession(){
        return factory.getCurrentSession();
    }
}

如果配置文件放在其他目录下,就需要手动指定路径。比如放在 android/longs/study/config/ 下,写法如下:

public class HBUtils {
    private static SessionFactory factory = 
        new Configuration()
            .configure("android/longs/study/config/hibernate.cfg.xml")
            .buildSessionFactory();
    public static Session openSession(){
        return factory.openSession();
    }
    public static Session getCurrentSession(){
        return factory.getCurrentSession();
    }
}

2. Hibernate 清单配置文件详情

接下来看一个完整的 hibernate.cfg.xml 示例,每个配置项都有明确的用途:




  
    
    com.mysql.jdbc.Driver
    url
    root
    123456
    
    org.hibernate.dialect.MySQL5Dialect
    
    true
    true
    
    update
    
    none
    
    thread
    
    org.hibernate.connection.C3P0ConnectionProvider
    
    
  

关于第4项“表的创建”,hbm2ddl.auto 的取值直接影响数据库表的行为:

create        : 每次运行都会创建表,如果表已存在则先删除再创建。程序结束后表保留。
create-drop   : 行为与 create 类似,但程序结束后会删除表。注意:必须执行 factory.close(),否则效果等同于 create。
update        : 表不存在则创建,存在则维护映射关系(只添加新字段,不删除已有字段)。
validate      : 运行时校验映射文件与表结构是否一致,不一致则抛出异常。

二级缓存配置

当需要提升性能时,二级缓存是常用手段。以下配置项可以组合使用:


4

true

org.hibernate.cache.EhCacheProvider

true

true




这里需要特别注意一点:一级缓存缓存的是对象,二级缓存缓存的是数据。在二级缓存中,如果集合缓存里的对象没有配置类缓存,那么查询时会执行 OID 查询,而不是直接从缓存中获取对象实例。理解这个区别,能避免很多性能陷阱。

本文转载于:https://www.jb51.net/article/125260.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注