<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 93,  comments - 2,  trackbacks - 0

    Hibernate 參數設置一覽表 

    SQL方言

    1、Hibernate JDBC屬性 

    屬性名 用途
    hibernate.connection.driver_class jdbc驅動類
    hibernate.connection.url jdbc URL
    hibernate.connection.username 數據庫用戶
    hibernate.connection.password 數據庫用戶密碼
    hibernate.connection.pool_size 連接池容量上限數目

    注:使用C3P0的properties樣例代碼:

    hibernate.connection.driver_class = org.postgresql.Driver
    hibernate.connection.url = jdbc:postgresql://localhost/mydatabase
    hibernate.connection.username = myuser
    hibernate.connection.password = secret
    hibernate.c3p0.min_size=5
    hibernate.c3p0.max_size=20
    hibernate.c3p0.timeout=1800
    hibernate.c3p0.max_statements=50
    hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect


    2、Hibernate的數據源屬性

    屬性名 用途
    hibernate.connection.datasource 數據源JNDI名字
    hibernate.jndi.url JNDI提供者的URL (可選)
    hibernate.jndi.class JNDI InitialContextFactory (可選)
    hibernate.connection.username 數據庫用戶 (可選)
    hibernate.connection.password 數據庫用戶密碼 (可選)

    注:應用程序服務器JNDI數據源的hibernate.properties樣例代碼:

    hibernate.connection.datasource = java:/comp/env/jdbc/test
    hibernate.transaction.factory_class = \
        org.hibernate.transaction.JTATransactionFactory
    hibernate.transaction.manager_lookup_class = \
        org.hibernate.transaction.JBossTransactionManagerLookup
    hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect


    3、Hibernate配置屬性(可選)

    屬性名

    用途

    hibernate.dialect

    一個Hibernate Dialect類名允許Hibernate針對特定的關系數據庫生成優化的SQL.

    取值full.classname.of.Dialect

    hibernate.show_sql

    輸出所有SQL語句到控制臺.

    取值true | false

    hibernate.format_sql

    在log和console中打印出更漂亮的sql.

    取值true | false

    hibernate.default_schema

    在生成的SQL中, 將給定的schema/tablespace附加于非全限定名的表名上.

    取值SCHEMA_NAME

    hibernate.default_catalog

    在生成的SQL中, 將給定的catalog附加于沒全限定名的表名上.

    取值CATALOG_NAME

    hibernate.session_factory_name

    SessionFactory創建后,將自動使用這個名字綁定到JNDI中.

    取值jndi/composite/name

    hibernate.max_fetch_depth

    為單向關聯(一對一, 多對一)的外連接抓取(outer join fetch)樹設置最大深度. 值為0意味著將關閉默認的外連接抓取.

    取值 建議在03之間取值

    hibernate.default_batch_fetch_size

    為Hibernate關聯的批量抓取設置默認數量.

    取值 建議的取值為4, 8, 和16

    hibernate.default_entity_mode

    為由這個SessionFactory打開的所有Session指定默認的實體表現模式.

    取值dynamic-map, dom4j, pojo

    hibernate.order_updates

    強制Hibernate按照被更新數據的主鍵,為SQL更新排序。這么做將減少在高并發系統中事務的死鎖。

    取值true | false

    hibernate.generate_statistics

    如果開啟, Hibernate將收集有助于性能調節的統計數據.

    取值true | false

    hibernate.use_identifer_rollback

    如果開啟, 在對象被刪除時生成的標識屬性將被重設為默認值.

    取值true | false

    hibernate.use_sql_comments

    如果開啟, Hibernate將在SQL中生成有助于調試的注釋信息, 默認值為false.

    取值true | false


    4、Hibernate JDBC和連接(connection)屬性

    屬性名 用途
    hibernate.jdbc.fetch_size 非零值,指定JDBC抓取數量的大小 (調用Statement.setFetchSize()).
    hibernate.jdbc.batch_size 非零值,允許Hibernate使用JDBC2的批量更新.

    取值 建議取530之間的值

    hibernate.jdbc.batch_versioned_data 如果你想讓你的JDBC驅動從executeBatch()返回正確的行計數 , 那么將此屬性設為true(開啟這個選項通常是安全的). 同時,Hibernate將為自動版本化的數據使用批量DML. 默認值為false.

    eg.true | false

    hibernate.jdbc.factory_class 選擇一個自定義的Batcher. 多數應用程序不需要這個配置屬性.

    eg.classname.of.Batcher

    hibernate.jdbc.use_scrollable_resultset 允許Hibernate使用JDBC2的可滾動結果集. 只有在使用用戶提供的JDBC連接時,這個選項才是必要的, 否則Hibernate會使用連接的元數據.

    取值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. 默認情況下將使用連接的元數據來判定驅動的能力.

    取值true|false

    hibernate.connection.provider_class 自定義ConnectionProvider的類名, 此類用來向Hibernate提供JDBC連接.

    取值classname.of.ConnectionProvider

    hibernate.connection.isolation 設置JDBC事務隔離級別. 查看java.sql.Connection來了解各個值的具體意義, 但請注意多數數據庫都不支持所有的隔離級別.

    取值1, 2, 4, 8

    hibernate.connection.autocommit 允許被緩存的JDBC連接開啟自動提交(autocommit) (不建議).

    取值true | false

    hibernate.connection.release_mode 指定Hibernate在何時釋放JDBC連接. 默認情況下,直到Session被顯式關閉或被斷開連接時,才會釋放JDBC連接. 對于應用程序服務器的JTA數據源, 你應當使用after_statement, 這樣在每次JDBC調用后,都會主動的釋放連接. 對于非JTA的連接, 使用after_transaction在每個事務結束時釋放連接是合理的. auto將為JTA和CMT事務策略選擇after_statement, 為JDBC事務策略選擇after_transaction.

    取值on_close | after_transaction | after_statement | auto

    hibernate.connection.<propertyName> 將JDBC屬性propertyName傳遞到DriverManager.getConnection()中去.
    hibernate.jndi.<propertyName> 將屬性propertyName傳遞到JNDI InitialContextFactory中去.


    5、Hibernate緩存屬性

    屬性名 用途
    hibernate.cache.provider_class 自定義的CacheProvider的類名.

    取值classname.of.CacheProvider

    hibernate.cache.use_minimal_puts 以頻繁的讀操作為代價, 優化二級緩存來最小化寫操作. 在Hibernate3中,這個設置對的集群緩存非常有用, 對集群緩存的實現而言,默認是開啟的.

    取值true|false

    hibernate.cache.use_query_cache 允許查詢緩存, 個別查詢仍然需要被設置為可緩存的.

    取值true|false

    hibernate.cache.use_second_level_cache 能用來完全禁止使用二級緩存. 對那些在類的映射定義中指定<cache>的類,會默認開啟二級緩存.

    取值true|false

    hibernate.cache.query_cache_factory 自定義的實現QueryCache接口的類名, 默認為內建的StandardQueryCache.

    取值classname.of.QueryCache

    hibernate.cache.region_prefix 二級緩存區域名的前綴.

    取值prefix

    hibernate.cache.use_structured_entries 強制Hibernate以更人性化的格式將數據存入二級緩存.

    取值true|false


    6、Hibernate事務屬性

    屬性名 用途
    hibernate.transaction.factory_class 一個TransactionFactory的類名, 用于Hibernate Transaction API (默認為JDBCTransactionFactory).

    取值classname.of.TransactionFactory

    jta.UserTransaction 一個JNDI名字,被JTATransactionFactory用來從應用服務器獲取JTA UserTransaction.

    取值jndi/composite/name

    hibernate.transaction.manager_lookup_class 一個TransactionManagerLookup的類名 - 當使用JVM級緩存,或在JTA環境中使用hilo生成器的時候需要該類.

    取值classname.of.TransactionManagerLookup

    hibernate.transaction.flush_before_completion 如果開啟, session在事務完成后將被自動清洗(flush). (在Hibernate和CMT一起使用時很有用.)

    取值true | false

    hibernate.transaction.auto_close_session 如果開啟, session在事務完成前將被自動關閉. (在Hibernate和CMT一起使用時很有用.)

    取值true | false


    7、其他屬性

    屬性名 用途
    hibernate.query.factory_class 選擇HQL解析器的實現.

    取值org.hibernate.hql.ast.ASTQueryTranslatorFactory or org.hibernate.hql.classic.ClassicQueryTranslatorFactory

    hibernate.query.substitutions 將Hibernate查詢中的符號映射到SQL查詢中的符號 (符號可能是函數名或常量名字).

    取值hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC

    hibernate.hbm2ddl.auto SessionFactory創建時,自動將數據庫schema的DDL導出到數據庫. 使用 create-drop時,在顯式關閉SessionFactory時,將drop掉數據庫schema.

    取值update | create | create-drop

    hibernate.cglib.use_reflection_optimizer 開啟CGLIB來替代運行時反射機制(系統級屬性). 反射機制有時在除錯時比較有用. 注意即使關閉這個優化, Hibernate還是需要CGLIB. 你不能在hibernate.cfg.xml中設置此屬性.

    取值true | false


    8、SQL方言
       Hibernate SQL方言 (hibernate.dialect)

    RDBMS 方言
    DB2 org.hibernate.dialect.DB2Dialect
    DB2 AS/400 org.hibernate.dialect.DB2400Dialect
    DB2 OS390 org.hibernate.dialect.DB2390Dialect
    PostgreSQL org.hibernate.dialect.PostgreSQLDialect
    MySQL org.hibernate.dialect.MySQLDialect
    MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect
    MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect
    Oracle (any version) org.hibernate.dialect.OracleDialect
    Oracle 9i/10g org.hibernate.dialect.Oracle9Dialect
    Sybase org.hibernate.dialect.SybaseDialect
    Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
    Microsoft SQL Server org.hibernate.dialect.SQLServerDialect
    SAP DB org.hibernate.dialect.SAPDBDialect
    Informix org.hibernate.dialect.InformixDialect
    HypersonicSQL org.hibernate.dialect.HSQLDialect
    Ingres org.hibernate.dialect.IngresDialect
    Progress org.hibernate.dialect.ProgressDialect
    Mckoi SQL org.hibernate.dialect.MckoiDialect
    Interbase org.hibernate.dialect.InterbaseDialect
    Pointbase org.hibernate.dialect.PointbaseDialect
    FrontBase org.hibernate.dialect.FrontbaseDialect
    Firebird org.hibernate.dialect.FirebirdDialect


    9、Hibernate日志類別

     

    類別 功能
    org.hibernate.SQL 在所有SQL DML語句被執行時為它們記錄日志
    org.hibernate.type 為所有JDBC參數記錄日志
    org.hibernate.tool.hbm2ddl 在所有SQL DDL語句執行時為它們記錄日志
    org.hibernate.pretty 在session清洗(flush)時,為所有與其關聯的實體(最多20個)的狀態記錄日志
    org.hibernate.cache 為所有二級緩存的活動記錄日志
    org.hibernate.transaction 為事務相關的活動記錄日志
    org.hibernate.jdbc 為所有JDBC資源的獲取記錄日志
    org.hibernate.hql.ast 為HQL和SQL的自動狀態轉換和其他關于查詢解析的信息記錄日志
    org.hibernate.secure 為JAAS認證請求做日志
    org.hibernate 為任何Hibernate相關信息做日志 (信息量較大, 但對查錯非常有幫助)

     

    posted on 2014-01-22 10:18 Terry Zou 閱讀(159) 評論(0)  編輯  收藏 所屬分類: Tomcat+Eclipse
    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    Java

    搜索

    •  

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成人免费在线观看| 婷婷亚洲综合一区二区| 久久WWW色情成人免费观看| 亚洲精品无码久久久久牙蜜区| 又黄又爽无遮挡免费视频| 中文字幕免费人成乱码中国| 久久精品国产亚洲av麻豆小说| 性一交一乱一视频免费看| 国产特黄一级一片免费| 亚洲国产亚洲综合在线尤物| 又大又硬又爽免费视频| 一级毛片免费观看| 色九月亚洲综合网| 噜噜噜亚洲色成人网站∨| 在线观看国产情趣免费视频| 在线观看片免费人成视频无码| ww亚洲ww在线观看国产| 激情综合色五月丁香六月亚洲| 成人无遮挡裸免费视频在线观看| 国产免费久久精品99久久| 亚洲免费福利在线视频| 亚洲乱码国产一区三区| 免费无码黄网站在线观看| 久久久久国色av免费看| 男女猛烈无遮掩视频免费软件| 亚洲成人免费在线观看| 亚洲大尺度无码专区尤物| 国产传媒在线观看视频免费观看| 久久久久免费看黄a级试看| 日韩大片在线永久免费观看网站 | 1000部国产成人免费视频| 人体大胆做受免费视频| 亚洲一区二区三区在线观看网站| 亚洲精品高清无码视频| 四虎亚洲国产成人久久精品 | 久久亚洲精品无码| 亚洲免费视频一区二区三区| 国内自产少妇自拍区免费| 午夜性色一区二区三区免费不卡视频| 国产一级片免费看| CAOPORN国产精品免费视频|