成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate性能簡單描述

開發(fā) 后端
這里介紹Hibernate性能:我堅信,Hibernate性能問題不是問題。想想那么多大中小項目都在使用Hibernate,你還懷疑Hibernate性能嗎?

在向大家詳細介紹Hibernate性能之前,首先讓大家了解下可維護性,然后全面介紹Hibernate有著ibatis無法替代的優(yōu)勢。

Hibernate在解決性能問題方面做得非常好。有了它的緩存機制,使用第三方緩存和數據庫連接池,就較好的解決的性能問題。但這些還不夠,Hibernate給了開發(fā)者足夠的自由,讓開發(fā)者自己去控制性能問題。

學習了一段時間的ibatis,我覺得Hibernate有著ibatis無法替代的優(yōu)勢。

1、開發(fā)者都知道,Hibernate讓我們以oo的方式操作數據庫,這讓我們看到了Hibernate的強大之處,體驗到操作數據的方便。但Gavin King說,Hibernate最耀眼之處是Hibernate的緩存機制,而不是以oo的方式操作數據庫。Hibernate的緩存機制不外乎是一級緩存session,二級緩存sessionFactory,和第三方緩存如ehcache.也就是Hibernate的***大的地方是它的緩存,理解了這個才能真正的理解Hibernate.緩存實在太難了,我至今未能真正理解。

2、可維護性:ibatis宣揚寫sql語句,它將sql語句放進一個單獨的xml文件,這種方式贏得了很多開發(fā)者的喜愛,一句話,方便維護。但Hibernate同樣具有這種功能,而且比ibatis更加強大。Hibernate的命名查詢/命名參數查詢,就是將hql語句放在一個單獨的xml文件之中,它仍然讓人們以面向對象的方式去操縱數據,這得到大量遵循oo方式開發(fā)者的喜愛,而不用在以oo的方式寫著代碼的同時,然后再轉變思維,用面向關系的方式去寫那些sql語句。但Hibernate不僅做了這些,它的native sql查詢方式,完全滿足sql語句的偏愛者,它像ibatis一樣,將sql語句放在配置文件之中。

3、Hibernate性能:我堅信,Hibernate性能問題不是問題。想想那么多大中小項目都在使用Hibernate,你還懷疑Hibernate性能嗎?spring整合Hibernate之后,在真正性能瓶頸的地方,完全可以使用spring集成的jdbc,或直接寫存儲過程得了。但首先得確認,這實在是性能瓶頸的地方,我想,不應想當然的認為性能的問題,所謂的性能問題阻撓了很多人。

我認為,性能的好壞無外是發(fā)送sql語句的多少而已。性能好,發(fā)送的sql語句少,性能差,就是發(fā)送大量的sql語句。Hibernate在解決性能問題方面做得非常好。

有了它的緩存機制,使用第三方緩存和數據庫連接池,就較好的解決的性能問題。

但這些還不夠,Hibernate給了開發(fā)者足夠的自由,讓開發(fā)者自己去控制性能問題。

我認為開發(fā)者可以在以下幾個方面自行調優(yōu):

◆在查詢字符串中,應該總是使用jdbc的占位符?,或使用使用命名參數:,不要自查詢中使用字符串值來代替非常量值。

◆Flush會影響性能,頻繁刷新影響性能,盡量減少不必要的刷新。

◆Cascade策略,在幾對幾的關系,正確設置cascade策略,想清楚在操作對象A的同時是否需要級聯操作對象B,比如在one to many的父子關系中,刪除了父親one,需級聯刪除子many,這時的one這端可設置cascade = “delete”,這樣在刪除one時,會自動刪除子,但對子的操作不會影響父。Cascade還有其他的屬性值,只要設置正確,可提升性能。

◆lazy策略,正確設置延遲加載策略同樣會提升性能,在one to many或many to many中,通常總應該延遲加載many的一方的到內存。設置了lazy = “true”,首先發(fā)送sql語句,加載自己到內存,到需要時才加載級聯對象;lazy=“false”,則會同時加載自己和級聯對象到內存。

◆另外還有集合的性能(set、list、map、array),都應正確設置。

◆正確使用第三方緩存,在讀操作頻繁寫操作不多的情況,使用第三方緩存可大幅度提升性能,如ehcache的緩存策略有:read-only,read-write和notstrict-read-write.

◆隨著Hibernate新版本的發(fā)布,和技術的發(fā)展,我相信Hibernate的性能會越來越好,所有性能不是不使用Hibernate的原因。

【編輯推薦】

  1. Hibernate專業(yè)知識介紹
  2. 討論Hibernate和模型對象
  3. Hibernate查詢緩存全面分析
  4. 概括Hibernate主鍵生成機制
  5. Hibernate Pager基礎介紹
責任編輯:佚名 來源: 51CTO.com
相關推薦

2009-09-28 15:43:42

Hibernate O

2009-09-23 10:58:32

Hibernate T

2009-09-22 11:16:27

Hibernate經驗

2009-09-27 13:00:56

Hibernate S

2009-09-22 17:41:07

Hibernate性能

2009-09-21 13:56:09

Hibernate3.

2009-09-24 13:17:37

Hibernate類庫

2009-09-27 17:37:32

Hibernate攔截

2009-09-25 10:33:25

Hibernate單元

2009-09-27 17:05:02

Hibernate p

2009-09-23 17:34:18

Hibernate映射

2009-09-21 16:30:20

Hibernate S

2009-09-29 16:48:42

Hibernate J

2009-09-21 17:46:34

Hibernate持久

2009-09-23 10:23:03

Hibernate檢查

2009-09-29 10:57:25

設置Hibernate

2009-09-22 15:04:37

Hibernate M

2009-09-24 16:19:53

Hibernate應用

2009-09-25 14:28:40

Hibernate S

2009-06-16 16:10:59

Hibernate性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品小视频 | 91资源在线 | 免费在线看黄视频 | 久久精品国产a三级三级三级 | 欧美精品在线免费 | 国产精品1 | 国产有码 | 国产精品2区 | 日韩高清国产一区在线 | 欧美爱爱视频 | 国产一区免费视频 | 99久久精品国产一区二区三区 | 超级乱淫av片免费播放 | 中文字幕的av | 日韩一区二区三区视频 | 久草精品视频 | 日韩精品 | 亚洲一区二区在线 | 玖玖玖在线观看 | 午夜影视在线观看 | 91精品国产乱码久久久久久 | 一区二区三区欧美 | 中文字幕在线播放第一页 | www.久久艹 | 国产欧美精品一区 | 久久久久久免费毛片精品 | 亚洲激情在线观看 | 日韩成人免费视频 | 一区二区三区高清在线观看 | 欧美男人亚洲天堂 | 国产亚洲精品a | 亚洲黄色国产 | 黄网站免费在线 | 日韩精品一区二区三区四区 | 黄色成人在线观看 | 91不卡在线 | 情侣av| 伊人久久免费视频 | 久久精品亚洲一区二区三区浴池 | 你懂的av| 黑人巨大精品欧美一区二区免费 |