hibernate的可选配置项

Hibernate配置属性
属性名 用途 
hibernate.dialect Hibernate方言(Dialect)的类名 - 可以让Hibernate使用某些特定的数据库平台的特性 
取值. full.classname.of.Dialect 
 
hibernate.default_schema 在生成的SQL中,scheml/tablespace的全限定名 
取值. SCHEMA_NAME 
 
hibernate.session_factory_name 自动把创建的SessionFactory以这个名字绑定到JNDI中去. 
取值. jndi/composite/name 
 
hibernate.use_outer_join 允许使用外连接抓取。已经失效。请使用max_fetch_depth。 
取值. true | false 
 
hibernate.max_fetch_depth 对单根联合(一对一,多对一),设置外连接抓取树的最大深度。如果是0将关闭默认的外连接抓取。 
取值. 建议设置为0到3之间 
 
hibernate.jdbc.fetch_size 一个非零值,用来决定JDBC的获取量大小。(会调用Statement.setFetchSize()).  
hibernate.jdbc.batch_size 一个非零值,会开启Hibernate使用JDBC2的批量更新功能 
取值. 建议值在 5 和 30之间。 
 
hibernate.jdbc.use_scrollable_resultset 允许Hibernate使用JDBC2提供的可滚动结果集。只有在使用用户自行提供的JDBC连接时,这个参数才是必需的。否则Hibernate会使用连接的元数据(metadata)。 
取值. true | false 
 
hibernate.jdbc.use_streams_for_binary 在从JDBC读写binary(二进制)或者serializable(可序列化)类型时,是否使用stream(流). (这是一个系统级别的属性。) 
取值. true | false 
 
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来得到取值的具体意义。注意大多数数据库不会支持所有的隔离级别。 
取值. 1, 2, 4, 8 
 
hibernate.connection.<propertyName> 把 propertyName这个JDBC 属性传递到DriverManager.getConnection()去  
hibernate.connection.provider_class 指定一个自定义的ConnectionProvider类名 
取值. classname.of.ConnectionProvider 
 
hibernate.cache.provider_class 指定一个自定义的CacheProvider缓存提供者的类名 
取值. classname.of.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将会使用(默认是JDBCTransactionFactory)。 
取值. classname.of.TransactionFactory 
 
jta.UserTransaction JTATransactionFactory 用来从应用服务器获取JTA UserTransaction的JNDI名 
取值. jndi/composite/name 
 
hibernate.transaction.manager_lookup_class TransactionManagerLookup的类名 - 当在JTA环境中,JVM级别的缓存被打开的时候使用. 
取值. classname.of.TransactionManagerLookup 
 
hibernate.query.substitutions 把Hibernate查询中的一些短语替换为SQL短语(比如说短语可能是函数或者字符)。 
取值. hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC 
 
hibernate.show_sql 把所有的SQL语句都输出到控制台 
取值. true | false 
 
hibernate.hbm2ddl.auto 在SessionFactory创建后,自动输出schema创建DDL语句到数据库.和create-drop同时使用的话,数据库schema会在SessionFactory显式关闭后被drop掉。 
取值. update | create | create-drop 

你可能感兴趣的:(jvm,sql,Hibernate,cache,jdbc)