杜蓮艷
(渤海大學大學外語教研部,遼寧錦州,121013)
英語移動學習資源系統Hibernate持久化設計
杜蓮艷
(渤海大學大學外語教研部,遼寧錦州,121013)
移動學習資源系統建設是開展移動學習的基礎,本文基于Hibernate框架進行持久化設計。進行數據結構設計,研究了資源類型、資源和資源明細等三個實體之間的關系,對基于SQLServer數據庫管理系統設計表結構;研究了實現持久化的方法,以資源類型實體為例,設計了持久化類和映射文件,并對相關問題作了必要說明。本文的研究內容為大學英語移動學習資源系統建設提供支持。
大學英語;移動學習;學習資源系統;Hibernate;持久化
移動學習作為遠程教育的第三個發展階段,是繼數字化學習之后出現的利用無線網絡和移動通訊設備來獲取學習資源和學習支持服務的又一新型學習模式,是教育技術領域研究的前沿和探討的熱點。移動學習是一種新型的學習模式,具有移動性、交互性、共享性和個性化學習等特點,能夠體現英語教學實用性、知識性和趣味性相結合的原則,可以滿足學習者在任何時問、任何地點獲取任何內容的學習愿望,滿足學生對移動學習、個性化學習和終身化學習的要求,逐漸成為一種備受歡迎的學習方式。移動學習資源是對現有學習資源的一種補充,是開展一切移動學習活動的基礎。移動學習資源系統開發是開展移動學習至關重要的環節。英語教育非常適合移動學習,本文以數據結構設計為基礎,基于Hibernate框架進行持久化設計,為大學英語移動學習資源系統建設提供支持。
根據英語教學大綱的要求以及英語學習的實際需要,英語移動學習資源應包括聽力資源、口語資源、閱讀資源、寫作資源、翻譯資源、詞匯資源、考試資源、評估資源、其他資源等內容。將學習資源在數據庫中存儲共需要三個實體,分別是資源類型(resourceType)、資源(resource)和資源明細(resourceDetail)。資源類型實體和資源實體之間是一對多的關聯,即一種資源類型存在多種資源,一種資源只對應一種資源類型,如寫作資源存在多個題目和可供學習的多個參考例文;資源實體和資源明細實體也是一對多的聯系,即一個資源對應多個資源明細,而一個資源明細只對應一個資源,如某個閱讀資源內容很多,為了方便移動學習,可以將該閱讀資源分解為多個明細。根據以上分析,基于SQLServer數據庫管理系統設計的表結構。
資源類型表結構如表1所示。

表1 資源類型表結構
資源表結構如表2所示。

表2 資源表結構
資源明細表結構如表3所示。

表3 資源明細表結構
Hibernate PO(持久化對象)由兩部分構成,分別的持久化類和映射文件。
2.1 持久化類
對于Hibernate PO而言,通常一個持久化類被映射到一個數據表,而持久化類的屬性則對應到數據表的列,因此系統實體表里包含了多少列,就意味著該實體對應持久化類包含多少個屬性。以資源類型(resourceType)實體為例,PO實現代碼如下:

PO是由Hibernate納入其實體容器(Entity Map)的對象,它代表了與數據庫中某條記錄對應的Hibernate實體,PO的變化在事務提交時將反應到實際數據庫中。持久對象具有如下特點:和session實例關聯;在數據庫中有與之關聯的記錄,有相應的ID,在內存中有該對象,緩存中也有。Hibernate是從PO實例中取values的,所以即使Session關閉,也一樣可以get/ set,可以進行跨Session的狀態管理。
Hibernate中各po具有三種狀態:①Transient瞬時狀態,瞬時對象在內存孤立存在,是攜帶信息的載體,不和數據庫的數據有任何關聯關系,同樣此時它沒有和session有關聯,可通過session的save()或saveOrUpdate()方法將瞬時對象與數據庫相關聯,并將數據對應的插入數據庫中,此時該瞬時對象轉變成持久化對象。②persistent持久化狀態(通過get()、load()、find()、interate()得到的對象都是persistent狀態),處于該狀態的對象在數據庫中具有對應的記錄,并擁有一個持久化標識。如果是用hibernate的delete()方法,對應的持久對象就變成瞬時對象,即Transient的狀態,因數據庫中的對應數據已被刪除,該對象不再與數據庫的記錄關聯。③detached脫管狀態,當與某持久對象關聯的session被關閉后,該持久對象轉變為脫管對象。當脫管對象被重新關聯到session上時,并再次轉變成持久對象。脫管對象擁有數據庫的識別值,可通過update()、saveOrUpdate()等方法,轉變成持久對象。
2.2 映射文件
映射文件負責把持久化類映射到數據庫表,并把持久化類的屬性映射數據列。通過這種映射,允許程序以面向對象的方式操作Hibernate的PO,而Hibernate則負責把這種操作轉換成底層的JDBC數據庫訪問。同樣以資源類型(resourceType)實體為例,與上面PO實現對應的映射文件代碼如下:

從上面的映射文件是把PO實體(ResourceType)映射到數據表(resourceType)。映射文件的根元素是class,每個class元素用于映射一個持久化類,在class元素中指定的table屬性就是表明該持久化類映射的數據表。如果沒有指定table屬性,即該數據表的名稱與持久化類的名稱相同。class元素下包含了多個property屬性,每個property屬性映射一個持久化屬性,即完成一個屬性和一個數據字段之間的映射。
[1] 陳翠娥.移動學習資源教學設計研究[D].西南交通大學碩士學位論文,2012.
[2] 朱婷婷.移動學習資源設計研究[J].中國醫學教育技術,2012,26(5):513-516.
[3] 孫益祥,陳琳.移動學習資源開發平臺和工具的選擇與評價[J].現代教育技術,2010,20(4):112-114.
[4] 陳天河.Struts、Hibernate、Spring集成開發寶典[M].電子工業出版社,2007.
[5] 教育部高等教育司.大學英語課程教學要求[M].北京:清華大學出版社,2007.
[6] 唐文娟,陳麗娜.基于Hibernate持久層性能優化方案的研究[J].智能計算機與應用,2012,2(1):56-58.
[7] 郭朗.Hibernate框架ORM常見數據關聯分析[J].信息系統工程,2013,26(4):134.
[8] 浮塵俗世的博客.深入Hibernate的映射文件[EB/OL].http://blog.163.com/xiaokangzhijia@126/blog/stat ic/16595485620101126104433187/,2013-12-10.
Persistence design on English mobile learning resources system based on Hibernate
Du Lianyan
(Teaching and Research Institute of Foreign Language,Bohai University,Jinzhou,121013,China)
Mobile learning resources system is the basis of building a mobile learning.The paper studies persistence design based on Hibernate framework.Data structure design should be carried on,and studied the relationships among resources type,resources and details of resource,and designed table structure for database management system based SQLServer;then,studied the method to achieve persistence;taking entity of resources type as example,designed persistence classes and mapping files and made the necessary instructions for related issues.Content of this paper provides support for college English mobile learning resources system construction.
college English;mobile learning;learning resources system;Hibernate;persistence
杜蓮艷(1977-),女,遼寧錦州人,講師,碩士。研究方向:現代教育技術應用及英語語言文學教學.