亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Hibernate入門 - 基礎配置

2019-11-18 13:56:09
字體:
來源:轉載
供稿:網友

  written by robbin

Hibernate配置文件可以有兩種格式,一種是 hibernate.PRoperties ,另一種是 hibernate.cfg.xml

后者稍微方便一些,當增加hbm映射文件的時候,可以直接在 hibernate.cfg.xml 里面增加,不必像 hibernate.properties 必須在初始化代碼中加入。

但不管怎么說,兩種的配置項都是一樣的,下面具體介紹:

在Hibernate的src目錄下有一個 hibernate.properties 模板,我們不必自己從頭寫,修改模板就可以了:)


hibernate.query.substitutions true 1, false 0, yes 'Y', no 'N'

這個配置意思是當你在Hibernate里面輸入true的時候,Hibernate會轉化為1插入數據庫,當你在Hibernate里面輸入false的時候,Hibernate會轉化為0插入數據庫,后面的Y,N同理。

對于某些數據庫,例如Oracle來說,沒有boolean數據類型,就是采用1代表true,0代表false,因此使用這個配置在Hibernate里面直接用true/false會非常直觀。


hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql:///test
hibernate.connection.username root
hibernate.connection.passWord

這是一個連接MySQL數據庫的例子,很直觀,不必解釋,不同的數據庫的連接參數模板中全部給出了。


hibernate.connection.pool_size 1
hibernate.statement_cache.size 25

這是Hibernate自帶的連接池的配置參數,在默認情況下將采用。意義很直觀,不多解釋。

只是提醒一點,Hibernate這個連接池是非常原始非常簡單的連接池,假如你在項目中用Hibernate的話,建議你首選App Server的連接池,次選Hibernate帶的DBCP連接池。自帶的連接池應該做為末選。

假如你采用DBCP連接池,除了要配置DBCP連接池以外,還需要取消掉下行的注釋:

hibernate.connection.provider_class net.sf.hibernate.connection.DBCPConnectionProvider

其它的連接池同理。

假如采用App Server的連接池,假設App Server連接池的DataSource的JNDI名稱為"mypool"的話,配置應該如下:

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.datasource mypool
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider

其它參數就不必寫了,因為已經在App Server配置連接池的時候指定好了。

假如你不是在App Server環境中使用Hibernate,例如遠程客戶端程序,但是你又想用App Server的數據庫連接池,那么你還需要配置JNDI的參數,例如Hibernate連接遠程Weblogic上的數據庫連接池:

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.datasource mypool
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider
hibernate.jndi.class weblogic.jndi.WLInitialContextFactory
hibernate.jndi.url t3://servername:7001/


最后,假如你需要在EJB或者JTA中使用Hibernate,需要取消下行的注釋:

hibernate.transaction.factory_class net.sf.hibernate.transaction.JTATransactionFactory

雜項配置:


hibernate.show_sql false

是否將Hibernate發送給數據庫的sql顯示出來,這是一個非常非常有用處的功能。當你在調試Hibernate的時候,讓Hibernate打印sql語句,可以幫助你迅速解決問題。


#hibernate.connection.isolation 4

指定數據庫的隔離級別,往往不同的數據庫有自己定義的隔離級別,未必是Hibernate的設置所能更改的,所以也不必去管它了。


hibernate.jdbc.fetch_size 50
hibernate.jdbc.batch_size 25

這兩個選項非常非常非常重要?。。乐赜绊慔ibernate的CRUD性能!

C = create, R = read, U = update, D = delete

Fetch Size 是設定JDBC的Statement讀取數據的時候每次從數據庫中取出的記錄條數。

例如一次查詢1萬條記錄,對于Oracle的JDBC驅動來說,是不會1次性把1萬條取出來的,而只會取出Fetch Size條數,當紀錄集遍歷完了這些記錄以后,再去數據庫取Fetch Size條數據。

因此大大節省了無謂的內存消耗。當然Fetch Size設的越大,讀數據庫的次數越少,速度越快;Fetch Size越小,讀數據庫的次數越多,速度越慢。

這有點像平時我們寫程序寫硬盤文件一樣,設立一個Buffer,每次寫入Buffer,等Buffer滿了以后,一次寫入硬盤,道理相同。

Oracle數據庫的JDBC驅動默認的Fetch Size=10,是一個非常保守的設定,根據我的測試,當Fetch Size=50的時候,性能會提升1倍之多,當Fetch Size=100,性能還能繼續提升20%,Fetch Size繼續增大,性能提升的就不顯著了。

因此我建議使用Oracle的一定要將Fetch Size設到50。

不過并不是所有的數據庫都支持Fetch Size特性,例如MySQL就不支持。

MySQL就像我上面說的那種最壞的情況,他總是一下就把1萬條記錄完全取出來,內存消耗會非常非常驚人!這個情況就沒有什么好辦法了 :(

Batch Size是設定對數據庫進行批量刪除,批量更新和批量插入的時候的批次大小,有點相當于設置Buffer緩沖區大小的意思。

Batch Size越大,批量操作的向數據庫發送sql的次數越少,速度就越快。我做的一個測試結果是當Batch Size=0的時候,使用Hibernate對Oracle數據庫刪除1萬條記錄需要25秒,Batch Size = 50的時候,刪除僅僅需要5秒?。?!

可見有多么大的性能提升!很多人做Hibernate和JDBC的插入性能測試會希奇的發現Hibernate速度至少是JDBC的兩倍,就是因為Hibernate使用了Batch Insert,而他們寫的JDBC沒有使用Batch的緣故。

以我的經驗來看,Oracle數據庫 Batch Size = 30 的時候比較合適,50也不錯,性能會繼續提升,50以上,性能提升的非常微弱,反而消耗內存更加多,就沒有必要了。


#hibernate.jdbc.use_scrollable_resultset true

設定是否可以使用JDBC2.0規范的可滾動結果集,這對Hibernate的分頁顯示有一定的作用,默認就好了。


#hibernate.cglib.use_reflection_optimizer false

默認打開,啟用cglib反射優化。cglib是用來在Hibernate中動態生成PO字節碼的,打開優化可以加快字節碼構造的速度。

不過,當你在調試程序過程中,非凡是和proxy,lazy loading相關的應用中,代碼出錯,但是出錯提示信息有語焉不詳,那么你可以把cglib優化關掉,這樣Hibernate會輸出比較具體的調試信息,幫助你debug。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久中文字幕国产| 久久99国产综合精品女同| 91视频免费在线| 亚洲色图综合久久| 欧美美最猛性xxxxxx| 亚洲综合在线中文字幕| 亚洲最大成人免费视频| 亚洲老板91色精品久久| 亚洲色图av在线| 91亚洲国产成人久久精品网站| 欧美电影免费观看高清完整| 久久天堂电影网| 国产在线拍揄自揄视频不卡99| 一二美女精品欧洲| 红桃视频成人在线观看| 欧美激情性做爰免费视频| 精品视频久久久久久| 日韩中文字幕网站| 日韩一区在线视频| 最近2019年手机中文字幕| 欧美大胆在线视频| 国产精自产拍久久久久久| 亚洲白虎美女被爆操| 国产视频精品一区二区三区| 亚洲第一精品久久忘忧草社区| 欧美激情中文字幕乱码免费| 欧美一级电影免费在线观看| 97热精品视频官网| 伊人成人开心激情综合网| 成人国产精品免费视频| 国产日本欧美一区| 国产一区视频在线播放| 日韩欧美国产视频| 日韩中文视频免费在线观看| 欧美激情在线狂野欧美精品| 不用播放器成人网| 欧美日韩午夜视频在线观看| 色诱女教师一区二区三区| 国产精品电影一区| 亚洲xxxx妇黄裸体| 久久影视三级福利片| 一区二区在线免费视频| www国产亚洲精品久久网站| 欧美激情2020午夜免费观看| 欧美激情喷水视频| 欧美日韩精品在线观看| 日韩欧美在线观看视频| 日韩电影大全免费观看2023年上| 中文字幕亚洲无线码在线一区| 亚洲影院色在线观看免费| 欧美裸体男粗大视频在线观看| 欧美老女人bb| 色综合色综合久久综合频道88| 亚洲电影免费观看高清完整版在线| 亚洲肉体裸体xxxx137| 7m第一福利500精品视频| 久久久久久久久久亚洲| 久久久免费高清电视剧观看| 国产精品xxx视频| 97国产精品视频人人做人人爱| 欧美在线影院在线视频| 欧美日韩美女在线| 精品国产一区二区三区久久| 97碰在线观看| 91精品国产91久久久久久不卡| 亚洲欧美国内爽妇网| 狠狠做深爱婷婷久久综合一区| 久久影院资源站| 久久久久久69| 欧美精品免费在线| 成人久久一区二区三区| 青青草原成人在线视频| 欧美性少妇18aaaa视频| 高清一区二区三区四区五区| 国产欧美日韩亚洲精品| 日韩欧美中文字幕在线观看| 亚洲国模精品私拍| 欧美人与物videos| 亚洲国产日韩欧美综合久久| 91精品国产高清自在线看超| 91黄色8090| 欧美成人合集magnet| 久久久久久久久久久成人| 亚洲国产97在线精品一区| 高清欧美性猛交xxxx黑人猛交| 国产精品网站大全| 国产在线久久久| 国产亚洲综合久久| 日本精品久久久久久久| 欧美日韩性视频| www.欧美精品一二三区| 亚洲人成在线观看| 91中文在线观看| 青青久久av北条麻妃海外网| 久久久之久亚州精品露出| 日韩高清av在线| 欧美视频13p| 久久成人精品视频| 成人性生交大片免费看视频直播| 欧美亚洲日本网站| 亚洲精品日韩久久久| 欧美激情亚洲国产| 亚洲人av在线影院| 欧美黑人视频一区| 亚洲精品日韩丝袜精品| 亚洲激情国产精品| 精品激情国产视频| 性色av一区二区咪爱| 亚洲性夜色噜噜噜7777| 亚洲福利在线播放| 亚洲精品自拍第一页| 亚洲全黄一级网站| 91黄色8090| 欧美日韩国产123| 亚洲人成毛片在线播放| 在线电影av不卡网址| 欧美日韩美女视频| 免费av一区二区| 4p变态网欧美系列| 国产精品jizz在线观看麻豆| 欧美激情精品久久久| 81精品国产乱码久久久久久| 欧美午夜激情小视频| 亚洲国产精品久久久久秋霞蜜臀| 亚洲一区久久久| 亚洲色图欧美制服丝袜另类第一页| 成人做爽爽免费视频| 日韩精品免费一线在线观看| 欧美大片欧美激情性色a∨久久| 97精品视频在线观看| 欧美中文在线免费| 中文字幕欧美日韩| 欧美日韩中文字幕| 欧美日韩一区二区三区在线免费观看| 国产噜噜噜噜噜久久久久久久久| www.日韩.com| 久久精品国产成人精品| 欧美性色xo影院| 欧美国产视频一区二区| 国产成人精品一区二区三区| 久久精品亚洲精品| 国产精品第100页| 日韩有码在线电影| 日韩在线观看免费全| 2019精品视频| 久久久亚洲国产天美传媒修理工| 亚洲国产成人一区| 亚洲精品在线不卡| 91产国在线观看动作片喷水| 久久久久久久久久久人体| 久久99久久久久久久噜噜| 久久免费观看视频| 国产精品久久久久77777| 91综合免费在线| 亚洲一区二区久久| 91精品国产91久久久久久吃药| 久久久999精品视频| 一区二区三区日韩在线| 性色av一区二区三区红粉影视| 久久这里只有精品99| 久久夜精品va视频免费观看| 国产日韩精品在线播放| 精品亚洲夜色av98在线观看| 亚洲色图综合久久|