hibernate3.3_學習筆記
簡述Hibernate的作用:ORM:Object Relational Mapping,對象關系映射。將java程序中的對象自動持久化到關系數據庫中。而Hibernate的作用好比就是在java對象與關系數據庫之間的一座橋梁,它主要負責兩者之間的映射。在Hibernate內部封裝了JDBC技術(但只是一個輕量級的封裝,因而可以讓程序設計人員更方便的以面向對象的思想操縱數據庫),并向外提供API接口。
Hibernate簡介Hibernate是一個JDO工具。它的工作原理是通過文件(一般有兩種:xml文件和properties文件)把值對象和數據庫表之間建立起一個映射關系。這樣,我們只需要通過操作這些值對象和Hibernate提供的一些基本類,就可以達到使用數據庫的目的。例如,使用Hibernate的查詢,可以直接返回包含某個值對象的列表(List),而不必向傳統的JDBC訪問方式一樣把結果集的數據逐個裝載到一個值對象中,為編碼工作節約了大量的時間。
myeclipse快速整合spring,struts,hibernate
hibernate開發文檔
正如其他的ORM工具,Hibernate同樣需要元數據來控制在不同數據表達形式之間的轉化. 在Hibernate 2.x里,多數情況下表示映射關系的元數據保存在XML文本文件中. 還有一種方式就是Xdoclet,它可以在編譯時利用Javadoc中的源碼注釋信息來進行預處理. 現在新的JDK標準(JDK1.5以上)也支持類似的注解功能,但相比之下很多工具對此提供了更強大更好用的支持. 以IntelliJ IDEA和Eclipse為例,這些IDE工具為JDK 5.0注解功能提供了自動完成和語法高亮功能. 注解被直接編譯到字節碼里,并 在運行時(對于Hibernate來講就是啟動的時候)通過反射讀取這些注解, 因此外部XML文件就不再需要了。
ORM(Object Relational Mapping)---是一種為了解決面向對象與關系型數據庫存在的互不匹配的現象的技術。簡單說:ORM是通過使用描述對象和數據庫之間映射的元數據,將Java程序中的對象自動持久化到關系數據中。本質上就是將數據從一種形式轉換到另外一種形式。
Hibernate實體對象生命周期實體對象三種狀態實體對象的生命周期就是指實體對象由產生到被Gc揮手的一段過程自由狀態不處在session的緩存中,也可以說,不被任何一個session實體關聯在數據庫中設有對應記錄持久狀態位于一個session實例的緩存中,也可以說持久化對象總被一個session實例關聯持久化對象和數據庫中的相關記錄對應session在清理緩存時.
Hibernate 注解編程
Hibernate -annotation 學習筆記
SpringBlog是一個基于SpringMVC+Hibernate開發的一個小小的博客系統。
用Annotations 給類或者類的屬性加上約束(constraint),在運行期檢查屬性值是很優雅的.Hibernate Validator就是這樣的一個框架.該框架是十分容易的(就像參考文檔中宣稱的那樣),幾乎沒有什么學習曲線,Validator 是一個驗證框架
Struts作為MVC 2的Web框架,自推出以來不斷受到開發者的追捧,得到廣泛的應用。作為最成功的Web框架,Struts自然擁有眾多的優點:MVC 2模型的使用、功能齊全的標志庫(Tag Library)、開放源代碼。而Spring的出現,在某些方面極大的方面了Struts的開發。同時,Hibernate作為對象持久化的框架,能顯示的提高軟件開發的效率與生產力。這三種流行框架的整合應用,可以發揮它們各自的優勢,使軟件開發更加的快速與便捷。 struts2發布已經很久了,但關于如何使用它的教程及實例并不多。特別是與Spring及Hibernate等流行框架的集成,并不多見。現在就將筆者使用Myeclipse工具應用struts2 + spring2 + hibernate3 實現CRUD操作的步驟一一紀錄下來,為初學者少走彎路略盡綿薄之力!在本文中,筆者將Struts2.0.6、Spring2.0.6和Hibernate3.1進行整合,希望通過這樣的整合示例,讓讀者了解這些框架各自的特點,以便于在自己的項目中,根據實際情況,盡快的過渡到Struts2的時代。本文的內容基于Struts2.0.6。
Hibernate封裝好了的工具類
為了保證數據的一致性,在編程的時候往往需要引入事務這個概念。事務有4個特性:原子性、一致性、隔離性、持久性。
創建一個Web項目,命名為“xscjManage”。該項目要實現學生、課程及成績的增加、刪除、修改、查找功能,需要三個表,即XSB表、KCB表、CJB表。其中XSB表中含有該學生所屬專業的ID,且作為外鍵,故還應該有一個ZYB表。在登錄學生成績管理系統時,如果沒有登錄成功,就回到登錄界面,登錄成功后方可進行各種操作,所以還要有個DLB表。
Hibernate Annotator能夠讓你利用Java 5注釋(annotations)來生成Hibernate mapping xml文件.它可作為那些原來使用xdoclet但要移植到Java5的一個替代品或作為Hibernate Annotations項目之外的另一個可選項目.
1.Doctype所有的XML映射都需要定義如上所示的doctype。DTD可以從上述URL中獲取,也可以從hibernate-x.x.x/src/net/sf/hibernate目錄中、或hibernate.jar文件中找到。Hibernate總是會首先在它的classptah中搜索DTD文件。如果你發現它是通過連接Internet查找DTD文件,就對照你的classpath目錄檢查XML文件里的DTD聲明。
說明:展現層:提供與用戶交互的界面。業務邏輯層:實現各種業務邏輯。數據訪問層:負責存放和管理應用程序的持久化業務數據。數據訪問層與Hibernate在Java應用程序中的角色數據訪問層(持久化層)封裝了數據訪問的細節,為業務邏輯層提供了面向對象的API。完善的持久化層應該達到的目標:代碼重用性高,可完成所有的數據訪問操作。
開發環境MyEclipse8.5。因為JPA只能應用在Hibernate3.2及以上的版本,而MyEclipse8.5的核心庫是Hibernate3.2的版本,在通過MyEclipse生成Hibernate的配置文件的時候會看到。