當前位置:編程學習大全網 - 源碼下載 - Hibernate session的方法的壹些說明

Hibernate session的方法的壹些說明

 用Hibernate肯定會頻繁的用到session 下面就將Hibernate session中壹些經常的用方法逐個的解釋壹下

 Transaction beginTransaction()

 開始壹個工作單元並返回壹個與之相關Transaction對象 最為事務的開始 通常在需要對數據庫進行更改例如save update或delete時使用 在事務結束後需要調用Transaction的mit方法提交更改 該方法必須在Hibernate session關閉之前使用

 void flush() void clear()

 這兩個方法通常在壹起使用 由於Hibernate有緩存數據的功能 所以當我們要批量查詢和批量插入時 會因為大量的緩存而導致內存溢出 所以我們可以在執行批量插入時插入壹定數目的數據後調用flush()提交插入 然後調用clear()清空當前Hibernate session內的所有緩存 批量查詢同理

 Connection close()

 關閉Hibernate session 同時清空所有的緩存

 Connection connection()

 獲取當前Hibernate session使用的JDBC connection

 boolean contains(Object object)

 返回boolean值 判斷壹個實例是否與當前Hibernate session保持關聯 即為持久化狀態

 Query createQuery(String queryString)

 返回壹個給定HQL語句的Query對象

 SQLQuery createSQLQuery(String queryString)

 返回壹個用於執行原生SQL語句的SQLQuery對象

 void delete(Object object)

 刪除與該對象關聯的數據裏內的壹條記錄 該對象可以是處於持久化狀態也可以是處於瞬態但與數據庫的記錄有id聯系 如果該對象的cascade屬性為delete或all將會同時刪除相關聯的數據

 void delete(String entityName Object object)

 不太明白什麽意思 占個位

 Connection disconnect()

 斷開與session與當前JDBC的連接 如果連接有Hibernate管理 則將連接送回連接池 否則將送回給程序本身

 Object get(Class clazz Serializable id)

 根據指定的實體類以及實體id返回壹個實體的實例 如果找不到記錄則返回null

 Object get(String entityName Serializable id)

 同上 entity為實體的名字

 String getEntityName(Object object)

 返回壹個持久化類的實體名

 Serializable getIdentifier(Object object)

 返回壹個被session緩存的實體實例的id

 Query getNamedQuery(String queryName)

 返回壹個在映射文件中定義的命名查詢的query對象

 SessionFactory getSessionFactory()

 獲取生成當前session的SessionFactory

 Transaction getTransaction()

 不說了 地球人都知道

 Object load(Class theClass Serializable id)

 Object load(String entityName Serializable id)

 和get方法壹個效果 不同的是該方法在找不到對應記錄時會拋出異常

 Serializable save(Object object)

 將壹個實體實例持久化 返回該持久化實例的id 在持久化之前必須手動或自動的指派id

 void update(Object object)

 通過給定的分離狀態的實例的id更新數據庫記錄 如果在持久化類中有相同的id則會拋出異常 如果這個實例cascade設置為save update或all是將同時更新所有關聯的實例記錄

lishixinzhi/Article/program/Java/ky/201311/28676

  • 上一篇:工程項目中的“POC”?
  • 下一篇:資本幹預源代碼
  • copyright 2024編程學習大全網