• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習(xí)慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過(guò)程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無(wú)法預(yù)料,人們需要更細(xì)心的觀察別人,要隨時(shí)注意才能保護(hù)別人,因?yàn)樗麄兾幢刂雷约阂裁础ぁぁぁぁ?/span>

            Hibernate文檔筆記共分為三個(gè)部分,此處是第三部分,重點(diǎn)講述了可選配置項(xiàng),它包括Hibernate配置項(xiàng)、Hibernate JDBC和連接的屬性、Hibernate Cache 屬性、Hibernate事務(wù)屬性和Miscellaneous properties 各種混合的屬性。

            九、可選配置項(xiàng)

            下面介紹的Hibernate屬性,有一些是系統(tǒng)級(jí)別的。系統(tǒng)級(jí)別的屬性只能通過(guò)-Dproperty=value來(lái)設(shè)置或在hibernate.properties文件中設(shè)置,不能使用上面的方式設(shè)置。

            1.Hibernate配置項(xiàng)

            (1)hibernate.dialect指定方言后,Hibernate可以根據(jù)低層數(shù)據(jù)庫(kù)自動(dòng)產(chǎn)生優(yōu)化過(guò)的SQL。取值為org.hibenate.dialect.Dialect的繼承類。多數(shù)情況下,Hibernate可以根據(jù)低層JDBC返回的metadata來(lái)判斷。

            (2)hibernate.show_sql打印所有的SQL語(yǔ)句到控制臺(tái),可以通過(guò)設(shè)置org.hibernate.SQL類的日志策略到DEBUG級(jí),實(shí)現(xiàn)同樣的效果。取值true|false。

            (3)hibernate.format_sql 格式化SQL語(yǔ)句在打印到控制臺(tái)或?qū)懭肴罩疚募r(shí)。取值true|false。

            (4)hibernate.default_schema 在產(chǎn)生SQL語(yǔ)句時(shí),在表名前加上映射文件給出的表空間(tablespace)或數(shù)據(jù)庫(kù)模式(schema)。取值SCHEMA_NAME。

            (5)hibernate.default_catalog 在產(chǎn)生SQL語(yǔ)句時(shí),在表名前加上映射文件給出的catalog。取值CATALOG_NAME。

            (6)hibernate.session_factory_name  Hibernate創(chuàng)建org.hibernate.SessionFactory實(shí)例后后會(huì)自動(dòng)的將這個(gè)綁定到JNDI中的名字上。取值jndi/sf。

            (7)hibernate.max_fetch_depth 設(shè)置對(duì)單個(gè)表的外連接數(shù)最大深度。0是屏蔽默認(rèn)的外連接設(shè)置。推薦設(shè)置為0到3之間。

            (8)hibernate.default_batch_fetch_size 設(shè)置Hibernate批量聯(lián)合查詢的尺度。強(qiáng)烈建議。推薦設(shè)置為4、8、16。

            (9)hibernate.default_entity_mode 默認(rèn)的實(shí)體表現(xiàn)模式,通過(guò)SessionFactory打開的所有的Session。取值,dynamic-map、dom4j、pojo。

            (10)hibernate.order_updates 強(qiáng)迫Hibernate通過(guò)被更新項(xiàng)的主鍵值排序SQL更新。這樣可以在高并發(fā)時(shí),減少事務(wù)死鎖。取值true|false。

            (11)hibernate.generate_statistics 如果設(shè)置為true,Hibernate將為性能調(diào)整,收集統(tǒng)計(jì)信息。取值true|false。

            (12)hibernate.use_identifier_rollback 如果設(shè)置為true,產(chǎn)生的標(biāo)識(shí)屬性將被重置成默認(rèn)值,當(dāng)對(duì)象被刪除后。取值為true|false。

            (13)hibernate.use_sql_comments  如果設(shè)置為true,Hiberante將為SQL產(chǎn)生注釋,這樣更利于調(diào)試。默認(rèn)值為false。取值為true|false。

            2.Hibernate JDBC和連接的屬性

            (1)hibernate.jdbc.fetch_size 指定JDBC的查詢尺度。通過(guò)調(diào)用(Statement.setFetchSize())。

            (2)hibernate.jdbc.batch_size 指定Hibernate如何使用JDBC2批量更新。取值,推薦5到30。

            (3)hibernate.jdbc.batch_versioned_data 設(shè)置這個(gè)屬性為true,JDBC將返回executeBatch執(zhí)行后正確的行數(shù)。打開這個(gè)參數(shù),通常是安全的。Hibernate將自動(dòng)的譯碼這些數(shù)據(jù)使用批量DML。默認(rèn)為false。取值true|false。

            (4)hibernate.jdbc.factory_class 選擇一個(gè)定制的org.hibernate.jdbc.Batcher。所有的應(yīng)用程序不需要配置這個(gè)屬性。取值,定義工廠的類名。

            (5)hibernate.jdbc.use_scrollable_resultset  Hibernate使用JDBC2的可滾動(dòng)記錄集。當(dāng)使用用戶提供的JDBC連接時(shí),需要設(shè)置這個(gè)參數(shù)。否則,Hibernate使用連接MetaData。取值true|false。

            (6)hibernate.jdbc.use_streams_for_binary 當(dāng)讀或?qū)懚M(jìn)制數(shù)據(jù)或序列化數(shù)據(jù)從JDBC或到JDBC,使用流。系統(tǒng)級(jí)的數(shù)據(jù)。設(shè)置true|false。

            (7)hibernate.jdbc.use_get_generated_keys 在插入后,可以使用JDBC3的PreparedStatement.getGeneratedKeys()中的值找回本地產(chǎn)生的鍵值。要求JDBC3+和JRE1.4+,如果使用Hibernate identifier generator后你的驅(qū)動(dòng)程序有問(wèn)題,請(qǐng)?jiān)O(shè)置為false。默認(rèn)情況下,設(shè)法連接MetaData來(lái)決定。取值,true|false。

            (8)hibernate.connection.provider_class 實(shí)現(xiàn)了org.hibernate.connection.ConnectionProvider 接口的類的名稱,為Hibernate提供連接。

            (9)hibernate.connection.isolation 設(shè)置JDBC事務(wù)隔離的級(jí)別。檢查java.sql.Connection的定義的常量值,但要注意大多數(shù)數(shù)據(jù)庫(kù)不支持所有的隔離級(jí)別、一些附加的和非標(biāo)準(zhǔn)的隔離級(jí)別。取值,1、2、4、8。

            (10)hibernate.connection.autocommit  JDBC共享連接的自動(dòng)提交。(不推薦)取值,true|false。

            (11)hibernate.connection.release_mode 指定什么時(shí)候,Hibernate應(yīng)該釋放JDBC連接。默認(rèn)情況下,JDBC是一直存在,只到Session是被明確關(guān)閉或斷開連接時(shí)。對(duì)于應(yīng)用的服務(wù)器JTA數(shù)據(jù)源,你應(yīng)該使用after_statement強(qiáng)制釋放JDBC連接在每個(gè)JDBC請(qǐng)求結(jié)束后。對(duì)于非JTA數(shù)據(jù)源,通常是在每個(gè)事務(wù)結(jié)束后釋放JDBC連接是有意義的。將該值設(shè)為auto時(shí),JTA和CMT事務(wù)策略時(shí),是選擇after_statement方式。JDBC事務(wù)策略時(shí),是選擇after_transaction。取值,auto(default),on_close,after_statment,after_transaction。

            注意:這個(gè)設(shè)置只影響通過(guò)SessionFactory.openSession打開的session。對(duì)于通過(guò)SessionFactory.getCurrentSession獲取的session,CurrentSessionContext實(shí)現(xiàn)類的配置是用來(lái)控制這些session的連接釋放模式。

            (12)hibernate.connection. 傳遞這些屬性到DriverManager.getConnection中。

            (13)hibernate.jndi. 傳遞這些屬性到JNDI InitialContextFactory。

            3.Hibernate Cache 屬性

            (1)hibernate.cache.provider_class 定制的CacheProvider的類名。

            (2)hibernate.cache.use_minimal_puts 花費(fèi)更多的讀操作,來(lái)優(yōu)化二級(jí)緩存的最少寫操作。這個(gè)操作對(duì)于集群緩存是非常有用的。在Hibernate3中,對(duì)于集群緩存是默認(rèn)開啟該功能的。取值,true|false。

            (3)hibernate.cache.use_query_cache 開啟查詢緩存,個(gè)別查詢肯定應(yīng)該開啟查詢緩存。取值,true|false。

            (4)hibernate.cache.use_second_level_cache 也許過(guò)去習(xí)慣于完全屏蔽掉二級(jí)緩存,默認(rèn)是開啟,對(duì)于指定CacheProvider實(shí)現(xiàn)類的情況。取值,true|false。

            (5)hibernate.cache.query_cache_factory  實(shí)現(xiàn)QueryCache接口的類名,默認(rèn)是內(nèi)置的StandardQueryCache。

            (6)hibernate.cache.region_prefix 對(duì)于使用二級(jí)緩存區(qū)域名的前綴。

            (7)hibernate.cache.use_structured_entries 強(qiáng)迫Hibernate在存儲(chǔ)數(shù)據(jù)到二級(jí)緩存時(shí),使用更人性化的格式。取值,true|false。

            4.Hibernate事務(wù)屬性

            (1)hibernate.transaction.transaction_class  使用Hibernate事務(wù)APIs的TransactionFactory的類名。默認(rèn)是JDBCTransactionFactory。

            (2)jta.UserTransaction  JTATransactionFactory使用JNDI名字從應(yīng)用服務(wù)器中獲取JTA UserTransaction。取值,jndi/ut。

            (3)hibernate.transaction.manager_lookup_class 是一個(gè)TransactionManagerLookup實(shí)現(xiàn)類的類名。當(dāng)JVM級(jí)別的緩存開啟時(shí)或在JTA環(huán)境中使用hilo generator時(shí),要求指定該值。

            (4)hibernate.transaction.flush_before_completion 如果設(shè)為true,session將在事務(wù)完成階段之前,自動(dòng)將緩存區(qū)的值推入到數(shù)據(jù)庫(kù)中。內(nèi)置和自動(dòng)session上下文管理是被優(yōu)先選用的。取值,true|false。

            (5)hibernate.transaction.auto_close_session 如果設(shè)為true,session將在事務(wù)完成之后,自動(dòng)的關(guān)閉session。內(nèi)置和自動(dòng)session上下文管理是被優(yōu)先選用的。取值,true|false。

            5.Miscellaneous properties 各種混合的屬性

            (1)hibernate.current_session_context_class 提供一個(gè)對(duì)于當(dāng)前session生命周期的策略。取值,jta、thread、managed、定制類名。

            (2)hibernate.query.factory_class 選擇HSQL的解析實(shí)現(xiàn)類。取值,org.hibernate.hsql.ast.ASTQueryTranslatorFactory和org.hibernate.hsql.classic.ClassicQueryTranslatorFactory。

            (3)hibernate.query.subsitutions Hibernate中標(biāo)記符到SQL中標(biāo)記符的映射。舉例說(shuō),可以是函數(shù)名或普通字符串名。取值,如hsqLiteral=SQL_LITERAL,hqlFunction=SQLFUN。

            (4)hibernate.hbm2ddl.auto 當(dāng)SessionFactory被創(chuàng)建時(shí),自動(dòng)的驗(yàn)證或輸出模式DDL(也就建表語(yǔ)句)到數(shù)據(jù)庫(kù)中。也就是說(shuō),自動(dòng)的驗(yàn)證數(shù)據(jù)庫(kù)表結(jié)構(gòu)或先刪除再重新建立,或在原表結(jié)構(gòu)上更新數(shù)據(jù)表結(jié)構(gòu)。當(dāng)將值置為create-drop時(shí),在SessionFactory被清除時(shí),將刪除數(shù)據(jù)庫(kù)中表結(jié)構(gòu)。取值,validate、create、update、create-drop。

            (5)hibernate.cglib.use_reflection_optimizer 用CGLIB代替運(yùn)行期的reflection(系統(tǒng)級(jí)屬性)。在有故障時(shí),反射是非常有用的,注意Hibernate總是需要CGLIB,甚至在你關(guān)閉優(yōu)化后。你不可以設(shè)置這個(gè)屬性在hibernate.cfg.xml文件中。

            posted on 2009-07-17 17:19 小果子 閱讀(169) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 學(xué)習(xí)筆記
            久久久久无码精品| 亚洲精品乱码久久久久久按摩| 欧美久久一级内射wwwwww.| 久久久国产乱子伦精品作者| 亚洲精品国产第一综合99久久| 久久综合久久综合久久综合| 精品蜜臀久久久久99网站| 影音先锋女人AV鲁色资源网久久 | 69久久精品无码一区二区| 久久人人爽人人人人片av| 久久这里只精品99re66| 四虎影视久久久免费观看| 一本久久a久久精品综合夜夜| 久久精品国产影库免费看| 99久久免费国产精品热| 久久精品一区二区三区不卡| 国内精品九九久久久精品| 精品一区二区久久| 国产一久久香蕉国产线看观看| 久久精品国产精品亚洲毛片| 久久久久久午夜成人影院| 久久偷看各类wc女厕嘘嘘| 国产成人久久精品一区二区三区| 久久久久高潮综合影院| 久久夜色精品国产欧美乱| 曰曰摸天天摸人人看久久久| 国产成人久久精品二区三区| 人人狠狠综合久久亚洲| 亚洲中文字幕无码久久综合网| 久久久噜噜噜久久熟女AA片| 久久精品国产网红主播| 国产精品视频久久| 伊人久久亚洲综合影院| 久久精品国产亚洲av麻豆色欲| 久久国产乱子精品免费女| 久久精品国产亚洲一区二区三区| 亚洲欧洲中文日韩久久AV乱码| 99久久精品免费看国产一区二区三区| 国产精品久久永久免费| 2020久久精品亚洲热综合一本| www久久久天天com|