11 2009 檔案
摘要: PROPAGATION_REQUIRED--支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。
PROPAGATION_SUPPORTS--支持當前事務,如果當前沒有事務,就以非事務方式執行。
PROPAGATION_MANDATORY--支持當前事務,如果當前沒有事務,就拋出異常。
PROPAGATION_REQUIRES_NEW--新建事務,如果當前存在事務,把當前事務掛起。
PROPAGATION_NOT_SUPPORTED--以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
PROPAGATION_NEVER--以非事務方式執行,如果當前存在事務,則拋出異常。
閱讀全文
摘要: Session.load/get方法均可以根據指定的實體類和id從數據庫讀取記錄,并返回與之對應的實體對象。其區別在于:
如果未能發現符合條件的記錄,get方法返回null,而load方法會拋出一個ObjectNotFoundException。
Load方法可返回實體的代理類實例,而get方法永遠直接返回實體類。
load方法可以充分利用內部緩存和二級緩存中的現有數據,而get方法則僅僅在內部緩存中進行數據查找,如沒有發現對應數據,將越過二級緩存,直接調用SQL完成數據讀取。
閱讀全文
摘要: 延遲加載機制是為了避免一些無謂的性能開銷而提出來的,所謂延遲加載就是當在真正需要數據的時候,才真正執行數據加載操作。在Hibernate中提供了對實體對象的延遲加載以及對集合的延遲加載,另外在Hibernate3中還提供了對屬性的延遲加載。下面我們就分別介紹這些種類的延遲加載的細節。
閱讀全文
摘要: OpenSessionInViewFilter是Spring提供的一個針對Hibernate的一個支持類,其主要意思是在發起一個頁面請求時打開 Hibernate的Session,一直保持這個Session,直到這個請求結束,具體是通過一個Filter來實現的。
由于 Hibernate引入了Lazy Load特性,使得脫離Hibernate的Session周期的對象如果再想通過getter方法取到其關聯對象的值,Hibernate會拋出一個 LazyLoad的Exception。所以為了解決這個問題,Spring引入了這個Filter,使得Hibernate的Session的生命周期變長。
閱讀全文
摘要: 最后,再補充一些:
分組group
常用于統計時,如分組查總數:
select gender,count(sno)
from students
group by gender
(查看男女學生各有多少)
注意:從哪種角度分組就從哪列"group by"
閱讀全文
摘要: LIKE語句的語法格式是:select * from 表名 where 字段名 like 對應值(子串),它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索包含對應子串的。
閱讀全文
摘要: PRIMARY KEY 約束唯一標識數據庫表中的每條記錄。
主鍵必須包含唯一的值。
主鍵列不能包含 NULL 值。
每個表應該都一個主鍵,并且每個表只能有一個主鍵。
SQL PRIMARY KEY Constraint on CREATE TABLE
閱讀全文