Hibernate配置文件常用属性说明
JDBC连接属性
hibernate.dialect 数据库方言
hibernate.connection.driver_class 数据库驱动类
hibernate.connection.username 数据库用户名
hibernate.connection.password 数据库密码
hibernate.connection.url 数据库服务路径
hibernate.connection.pool-size Hibernate数据库连接池最大并发连接数(实际生产不使用)
C3P0连接池属性
hibernate.c3p0.max_size 最大连接数
hibernate.c3p0.min_size 最小连接数
hibernate.c3p0.timeout 超时时常(秒)
hibernate.c3p0.max_statements 缓存statement的数量
hibernate.c3p0.idle_test_period 检查所有连接池中的空闲连接时间间隔(秒)
hibernate.c3p0.acquire_increment 当连接池中的连接被耗尽时c3p0一次同时获取的连接数
JNDI数据源连接属性
hibernate.connection.datasource 数据源JNDI的名字
hibernate.jndi.url JNDI提供者的URL,可选,JNDI与Hibernate在同一应用时可省略
hibernate.jndi.class JNDI InitialContextFactory的实现类,可选,JNDI与Hibernate在同一应用时可省略
hibernate.connection.username 数据库用户名,可省略
hibernate.connection.password 数据库密码,可省略
事务属性
hibernate.transaction.flush_before_completion Session是否在事务完成后自动将数据刷新到数据库(true/false)
hibernate.transaction.auto_close_session 事务结束后是否自动关闭Session(true/false)
hibernate.transaction.factory_class 事务工厂类型(org.hibernate.transaction.JTATransactionFactory/org.hibernate.transaction.JDBCTransactionFactory)
hibernate.transaction.manager_lookup_class 当JTA类型的事务工厂使用二级缓存时要指定的类(org.hibernate.transaction.JBossTransactionManagerLookup/ org.hibernate.transaction.WeblogicTransactionManagerLookup
/ org.hibernate.transaction.WebSphereTransactionManagerLookup/ org.hibernate.transaction.OrionTransactionManagerLookup
/org.hibernate.transaction.ResinTransactionManagerLookup)
jta.UserTransaction 当使用JTA类型的事务工厂时,Hibernate从应用服务器获取的JTA UserTransaction
二级缓存属性
hibernate.cache.use_minimal_puts 以频繁的读操作为代价,优化二级缓存以实现最小化写操作。对集群缓存很有用,默认开启(true/false)
hibernate.cache.region_prefix 二级缓存区名称的前缀
hibernate.cache.use_second_level_cache 是否使用二级缓存(true/false)
hibernate.cache.use_query_cache 是否允许查询缓存
hibernate.cache.use_structured_entries 是否强制Hibernate以更人性化的格式将数据存入二级缓存
hibernate.cache.provider_class 设置二级缓存CacheProvider的类名
hibernate.cache.query_cache_factory 查询缓存工厂的类名
其他常用属性
hibernate.show_sql 是否在控制台显示sql语句
hibernate.use_sql_comments 是否在Hibernate生成的sql中添加注释
hibernate.connection.autocommit 是否打开自动提交
hibernate.jdbc.fetch_size JDBC抓取量的大小
hibernate.jdbc.batch_size Hibernate使用JDBC2的批量更新的大小(5-30)
hibernate.hbm2ddl.auto 创建SessionFactory时,是否根据映射文件自动建立数据表。(update/create/creae_drop/validate)