面向新用戶,從一個簡單的使用內存數據庫的例子開始,本章提供對 Hibernate 的逐步介紹。本 教程基于 Michael Gloegl 早期編寫的手冊。所有代碼都包含在 tutorials/web 目錄下。
Hibernate 是處于開發中的持久層框架,他是一個 ORM 映射工具(Object/RelationMapping,對象-關系映射,就是通過將 Java 對象映射到數據庫表,通過操作 Java 對象,就 可以完成對數據表的操作)。是輕量級 JavaEE 應用的持久層解決方案。
Hibernate是一種orm 工具,O(object是Java中的對象)、R(relation是關系——關系型數據庫中的數據)、M(mapping是映射),將數據庫中的數據和內存中的Java的面向對象的數據進行數據之間的映射的工具。
在hibernate中一對多關聯時會經常用到inverse和cascade屬性
對象/關系映射ORM(Object-RelationMapping)是用于將對象與對象之間的關系對應到數據庫表與表之間的關系的一種模式。簡單地說,ORM是通過使用描述對象和數據庫之間映射的元數據,將Java程序中的對象自動持久化到關系數據庫中。對象和關系數據是業務實現的兩種表現形式,業務實體在內存中表現為對象,在數據庫中表現為關系數據。內存中的對象之間存在著關聯和繼承關系。而在數據庫中,關系數據無法直接表達多對多關聯和繼承關系。因此,ORM系統一般以中間件的形式存在,主要實現程序對象到關系數據庫數據的映射。一般的ORM包括四個部分:對持久類對象進行CRUD操作的API、用來規定類和類屬性相關查詢的語言或API、規定mappingmetadata的工具,以及可以讓ORM實現同事務對象一起進行dirtychecking、lazyassociationfetching和其他優化操作的技術。
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。
因為JAVA是面向對象的,JDBC沒有做到使數據能夠面向對象的編程,使程序員的思考仍停留在SQL語句上。
hibernate3.3_學習筆記
hibernate開發文檔
今天在使用SSH整合開發一個Demo的時候發生了很多問題,為了讓自己不再犯同樣的錯誤,特此把總結寫一下。
MyEclipse使用hibernate正向工程,hibernate的正向工程是指從java實體類生成數據庫表的過程,這種過程符合java程序員面向對象編程的思想,也是工程設計的時候使用比較多的一種思想。具體實施過程如下。
MySQL+Hibernate下連接空閑8小時自動斷開問題解決方案 前段時間剛完成一個家教網項目,數據庫為MySQL5.0,持久層使用Hibernate3.1,沒有使用額外的連接池,那么Hibernate會默認使用它自帶的一個默認連接池,也就是DriverManagerConnectionProvider。 先在本機上調試都毫無問題,于是部署到服務器上,也都沒什么問題。由于這是新網站,根本還沒正式對外發布和宣傳,所以頭兩天根本沒人訪問。
第七章緩存及注解第三單元第頁/共25頁本章相關學習資源《使用緩存提高查詢性能》專題《使用注解簡化映射配置》專題《升級新聞管理系統》相關專題《使用Hibernate升級新聞管理系統》第7章《緩存及注解》第頁/共25頁學習平臺“Hibernate實現數據持久化”課程學生用書預習檢查簡述緩存的作用簡述Hibernate的緩存分類列舉完成實體類常用配置的注解第頁/共25頁本章任務任務1:使用一級緩存查詢特定房屋信息任務2:使用二級緩存和查詢緩存任務3:使用注解配置項目任務
第六章Criteria查詢及命名查詢第三單元第頁/共29頁本章相關學習資源《使用Criteria查詢數據》專題《使用命名查詢與本地SQL》專題《使用Hibernate升級新聞管理系統》第6章《Criteria查詢及命名查詢》第頁/共29頁學習平臺“Hibernate實現數據持久化”課程學生用書預習檢查簡述如下代碼的作用如何使用Criteria實現分頁簡述實現命名HQL查詢的步驟
Hibernate不同數據庫的連接及SQL方言本文講述Hibernate不同數據庫的連接及SQL方言。Hibernate不同數據庫的連接可能會出現錯誤,有一種情況是由于HibernateSQL方言設置不正確而導致的。
第一步:操作接口IGenericDao.java ?所用的集成操作增刪改查packagecom.ssh.common.dao;/***功能:hibernate操作模板基類設計
Hibernate調優不只是設置一下lazy,調整一下由誰來維護這個字段而已。這次要說的是對查詢語句進行優化 - select new map()。