1樓:匿名使用者
這個問題是hibernate 一級快取導致的問題。
證明,你在呼叫 ;
還沒有提交事務,關閉hibernate session之前呼叫了。
list list = from member where num = num);
member member = member);
這次查詢,但是這次查詢和。
使用了同乙個session, 所以,你查到了改動過的記錄;
與此同時,你還是用了。
member member = num);
來查詢,但是此時的session 和 update的session快取不是乙個快取。
而update的session還沒有吧事務commit,關閉session。
所以你只能查到沒有更新前的資料。
hibernate三種狀態的問題?
2樓:匿名使用者
hibernate會自己建立乙個繼承於你的實體類的子類,子類裡有一些表示狀態和字段關聯資訊的屬性,能追蹤到當前的連線狀態,和實體類的屬性值變化。
通過這些屬性控制轉換。
3樓:匿名使用者
1,瞬時態(臨時態)
a,不被session管理。
b,資料庫中沒有這條記錄。
c,可以被jvm垃圾**。
2,持久太。
a,被session管理。
b,資料庫中記錄儲存。
c,不能**。
3,游離態(脫離態)
a,不被session管理。
b,資料庫中有記錄。
c,可以被jvm垃圾**。
4樓:毛帥項巍然
hibernate的物件有3種狀態,分別為:瞬時態(transient)、持久態(persistent)、脫管態(detached)
處於持久態的物件也稱為po(persistenceobject),瞬時物件和脫管物件也稱為vo(valueobject).
使用hibernate的優缺點
5樓:匿名使用者
………優點是物件導向,使程式設計師不必在關注資料庫語句。缺點是,很難學,而且要做對映,自然就浪費掉一些資源嗯,什麼事單雙向關係?你說得是層級關聯還是一對多 多對多?
快取機制……分為兩種,一種是一級快取,就是hibernate自帶的session,第二就是二級快取,是外接的。第一種快取只是簡單的記錄了查詢結果list,如果沒有特殊的設定,相同的查詢,會從session中取得,而不是連線資料庫。二級快取無非就是可以儲存大量的資料,儲存在硬碟上,以便快速讀取。
6樓:趣事情
的優缺點:
優點:1、程式更加物件導向;
2、提高了生產率;
3、方便移植(修改配置檔案);
4、無侵入性。
缺點:1、效率比jdbc略差;
2、不適合批量操作。
有四種查詢方案:
1、get,load方法,根據id查詢物件2、hql--hibernate query language(查詢物件:query)
3、criteria--標準查詢語言(查詢物件:criteria,查詢條件:criterion)
4、通過sql來查(查詢物件:sqlquery)
7樓:匿名使用者
1、不需要編寫的sql語句(不需要jdbc),只需要操作相應的物件就可以了,就可以能夠儲存、更新、刪除、載入物件,可以提高生產效;
2、因為使用hibernate只需要操作物件就可以了,所以我們的開發更物件化了;
3、使用hibernate,移植性好(只要使用hibernate標準開發,更換資料庫時,只需要配置相應的配置檔案就可以了,不需要做其它任務的操作);
4、hibernate實現了透明持久化:當儲存乙個物件時,這個物件不需要繼承hibernate中的任何類、實現任何介面,只是個純粹的單純物件—稱為pojo物件(最純粹的物件—這個物件沒有繼承第三方框架的任何類和實現它的任何介面)
5、hibernate是乙個沒有侵入性的框架,沒有侵入性的框架我們一般稱為輕量級框架。
6、hibernate**測試方便。 只要你hibernate學到家了,用起來絕對比寫sql語句爽。這是俺們導師說的!哈哈~
8樓:匿名使用者
hibernate的優點:簡化了持久層的開發,可以運用物件導向的語言運算元據庫,hibernate具有平台無關性開發的產品更具移植性。
不好的地方:生成過多的sql語句,學習曲線過於陡峭。
hibernate的優缺點
9樓:匿名使用者
hibernate是以操作物件的方式,實現對資料庫的操作,減少了資料庫操作的**。還設計了很多調優策略。
而他有時基於jdbc的一種封裝,所以執行效率比jdbc稍差。
hibernate的主要功能及用法
10樓:調和若
用jdbc運算元據庫你煩不煩?
把這些事扔給hibernate去做。
hibernate的特點是什麼,用hibernate有什麼好處?
11樓:匿名使用者
資料持久化操作變得比較方便,一般的cud操作不用sql語句就可以。
hibernate修改問題
這個person裡面有乙個主鍵id 是通過id作為刪除條件的 你可以把配置檔案裡面的 show sql true開啟 看看他執行刪除時候,發出的sql語句 我可以告訴你,hibernate的修改就是先查詢後修改,先把需要的資料查詢出來,然後呼叫其setter方法就可以了,事務提交或者session關...
Hibernate是如何實現MVC的
spring mvc是model,view,controller。具體的model可以是你說的hibernate生成的持久化類 do view是jsp頁面,controller是servlet。因此,hibernate只是作為model部分的工具 mvc是一種設計思想,即便是不使用框架,我們也可以把...
Spring和Hibernate的註解整合hibernate3和hibernate
hibernate4.0版本和3.0版本的區別 1.資料庫方言設定 org.hibernate.dialect.mysql5dialect 現在,ssh框架中註解的使用已經非常普遍了,在此我介紹一下spring整合hibernate註解時的配置 hibernate和spring的註解方式請網上搜尋。...
hibernate裡的inverse和cascade是什麼區別
inverse的作用 在hibernate中是通過inverse的設定來決定是由誰來維護表和表之間的關係的。inverse的值有兩種,true 和 false inverse false 是預設的值,如果設定為true 則表示物件的狀態變化不會同步到資料庫 設定成false則相反。cascade則描...
hibernate的優缺點,盡量全面點
優點就是他封裝好了幾乎所有的sql語句,包括級聯查詢等等,和jdbc相比,這也就省去了自己去寫 的時間,提高了開發效率。他通過對映機制,把實體類對映到資料庫,方便操作持久化物件。缺點,雖然hibernate提高了開發效率,但是,畢竟自己專案中,hibernate有些東西還用不到,比如載入,雖然有懶載...