Hibernate配置属性:
属性名 | 用途 |
hibernate.dialect | Hibernate方言(Dialect)的类名-可以让Hibernate使用某些特定的数据库平台的特性 |
hibernate.default_schema | 在生成的SQL中,scheml/tablespace的全限定名 |
hibernate.session_factory_name | 自动把创建的SessionFactory以这个名字绑定到JNDI中去 |
hibernate.use_outer_join | 允许使用外连接抓取。已失效 ,请使用max_fetch_depth |
hibernate.max_fetch_depth | 对单根联合(一对一,多对一),设置外连接抓取数的最大深度。如果是0将官步默认的外连接抓取 取值,建议设置为0到3之间 |
hibernate.jdbc.fetch_size | 一个非零值,用来决定JDBC的获取量大小。(会调用Statement.setFetchSize())。 |
hibernate.jdbc.batch_size | 一个非零值,会开启Hibernate使用JDBC2的批量更新功能 |
hibernate.jdbc.use_scrollable_resultset | 允许Hibernate使用JDBC2提供的可滚动结果集,只有在使用用户自行提供的JDBC连接时,这个参数才是必需的,否则Hibernate会使用连接的元数据(metadata) |
hibernate.jdbc.use_stream_for_binary | 从JDBC读写binary或者serializable类型时,是否使用stream |
hibernate.jdbc.use_get_generated_keys | 允许使用JDBC3的PreparedStatement.getGeneratedKeys()在插入后获取数据库自身生成的Key,需要JDBC3以上的驱动和JRE1.4以上,如果你的驱动和Hibernate关键字生成器一起使用有问题,请设为False,默认情况下,会使用connection元数据根据驱动是否支持自动判断 取值 true|false |
hibernate.cglib.use_reflection_optimizer | 是否使用CGLIB来代替运行时反射操作(系统级别属性,默认为在可能时都使用CGLIB),在调试的时候有时候使用反射会有用 取值 true|false |
hibernate.jndi.<propertyName> | 把propertyName这个属性传递到JNDI InitialContextFactory去 |
hibernate.connection.isolation | 事务隔离级别(可选)。请检查java.sql.Connection来得到取值的具体意义,主意大多数数据库不会支持所有隔离级别。 |
hibernate.connection.<propertyName> | 把propertyName这个JDBC属性传递到DriverManager.getConnection()去 |
hibernate.connection.provider_class | 指定一个自定义的ConnectionProvider类名 |
hibernate.cache.provider_class | 指定一个自定义的CacheProvider缓存提供者的类名 |
hibernate.cache.use_minimal_puts | 优化第二级缓存操作,减少写操作,代价是读操作更频繁(对于集群缓存很有用) 取值 true|false |
hibernate.cache.use_query_cache | 打开查询缓存,每个查询仍然必须指明cacheable 取值 true|false |
hibernate.cache.region_prefix | 用于第二级缓存区域名字的前缀 取值 prefix |
hibernate.transaction.factory_class | 指定一个自定义的TransactionFactory类名,Hibernate Transaction API将会使用(默认是JDBCTransFactory) 取值 classname.of.TransactionFactory |
jta.UserTransaction | JTATransactionFactory用来从应用服务器获取JTAUserTramsaction的JNDI名 取值 jdni/composite/name |
hibernate.transaction.manager_lookup_class | TransactionManagerLookup的类名,当在JTA环境中,JVM级别的缓存被打开的时候使用。 取值 classname.of.TransactionManagerLookup |
hibernate.query.substituions | 把Hibernate查询中的一些短语替换为SQL短语 |
hibernate.show_sql | 把所有的SQL语句都输出到控制台 |
hibernamte.hbm2dll.auto | 在SessionFactory创建后,自动输出schema创建DLL语句到数据库,和create-drop同事使用的话,数据库schema会在SessionFactory显示关闭后被drop掉 |