个性化阅读
专注于IT技术分析

Hibernate配置

由于Hibernate可以在不同的环境中运行, 因此需要广泛的配置参数。这些配置包含为Java类提供不同功能的映射信息。通常, 我们在配置文件中提供与数据库相关的映射。 Hibernate有助于以XML文件(例如hibernate.cfg.xml)或属性文件(例如hibernate.properties)提供配置。

Configuration类的实例允许指定属性和到应用程序的映射。此类还构建了一个不变的SessionFactory。

我们可以通过直接实例化Configuration类实例并在配置文件中指定映射来获取它。如果映射文件存在于类路径中, 请使用addResource()方法。

Configuration cfg = new Configuration()
    .addResource("employee.hbm.xml")

让我们看一个以XML文件和属性文件提供配置的示例。

基于XML的配置

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE hibernate-configuration PUBLIC  
        "-//Hibernate/Hibernate Configuration DTD 5.3//EN"  
        "http://www.hibernate.org/dtd/hibernate-configuration-5.3.dtd">  
<hibernate-configuration>  
    <session-factory>  
            
    <property name="hbm2ddl.auto">update</property>    
        <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>    
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>    
        <property name="connection.username">system</property>    
        <property name="connection.password">jtp</property>    
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>   
       
    </session-factory>  
</hibernate-configuration>

属性文件配置

hibernate.dialect= org.hibernate.dialect.Oracle9Dialect
hibernate.connection.driver_class= oracle.jdbc.driver.OracleDriver
hibernate.connection.url= jdbc:oracle:thin:@localhost:1521:xe
hibernate.connection.username= system
hibernate.connection.password=jtp
hibernate.show_sql=true  
hibernate.hbm2ddl=update

休眠配置的属性

Hibernate JDBC属性

属性 描述
hibernate.connection.driver_class 它代表JDBC驱动程序类。
hibernate.connection.url 它代表JDBC URL。
hibernate.connection.username 它代表数据库用户名。
休眠连接密码 它代表数据库密码。
Hibernate.connection.pool_size 它表示连接池中可用的最大连接数。

休眠数据源属性

属性 描述
hibernate.connection.datasource 它代表Hibernate用于数据库属性的数据源JNDI名称。
hibernate.jndi.url 它是可选的。它表示JNDI提供程序的URL。
hibernate.jndi.class 它是可选的。它表示JNDI InitialContextFactory的类。

休眠配置属性

属性 描述
hibernate.dialect 它表示休眠中用于为特定关系数据库生成SQL语句的数据库类型。
hibernate.show_sql 它用于显示已执行的SQL语句以进行控制台。
hibernate.format_sql 它用于在日志和控制台中打印SQL。
hibernate.default_catalog 它使用生成的SQL中的给定目录来限定不合格的表名。
hibernate.default_schema 它使用生成的SQL中的给定架构来限定不合格的表名。
hibernate.session_factory_name 创建后, SessionFactory接口会自动绑定到JNDI中的该名称。
hibernate.default_entity_mode 它为从此SessionFactory打开的所有会话设置实体表示的默认模式
hibernate.order_updates 它根据更新的主键对SQL更新进行排序。
hibernate.use_identifier_rollback 如果启用, 则删除对象时, 生成的标识符属性将重置为默认值。
hibernate.generate_statistics 如果启用, 则Hibernate将收集对性能调整有用的统计信息。
hibernate.use_sql_comments 如果启用, 则Hibernate会在SQL内生成注释。它用于简化调试。

休眠缓存属性

属性 描述
hibernate.cache.provider_class 它代表自定义CacheProvider的类名。
hibernate.cache.use_minimal_puts 它用于优化二级缓存。它以更频繁的读取为代价, 最大程度地减少了写入。
hibernate.cache.use_query_cache 它用于启用查询缓存。
hibernate.cache.use_second_level_cache 它用于禁用二级缓存, 默认情况下, 该二级缓存对指定映射的类启用。
hibernate.cache.query_cache_factory 它代表自定义QueryCache接口的类名。
hibernate.cache.region_prefix 它指定用于二级缓存区域名称的前缀。
hibernate.cache.use_structured_entries 它有助于Hibernate以更人性化的格式将数据存储在二级缓存中。

休眠事务属性

属性 描述
hibernate.transaction.factory_class 它代表与Hibernate Transaction API一起使用的TransactionFactory的类名。
hibernate.transaction.manager_lookup_class 它代表TransactionManagerLookup的类名。启用JVM级别的缓存时, 它是必需的。
hibernate.transaction.flush_before_completion 如果启用, 则会话将在事务完成之前自动刷新。
hibernate.transaction.auto_close_session 如果启用, 则在事务的完成阶段之后, 会话将自动关闭。

其他休眠属性

属性 描述
hibernate.connection.provider_class 它代表了一个自定义ConnectionProvider的类名, 该提供程序提供了到Hibernate的JDBC连接。
休眠连接隔离 它用于设置JDBC事务隔离级别。
休眠连接自动提交 它启用JDBC池连接的自动提交。但是, 不建议这样做。
hibernate.connection.release_mode 它指定Hibernate何时释放JDBC连接。
hibernate.current_session_context_class 它为“当前”会话的范围提供了自定义策略。
hibernate.hbm2ddl.auto 它通过创建SessionFactory在数据库中自动生成模式。
赞(0)
未经允许不得转载:srcmini » Hibernate配置

评论 抢沙发

评论前必须登录!