自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hibernate映射簡(jiǎn)單概述

開發(fā) 后端
這里介紹Hibernate映射,在使用Hibernate進(jìn)行單元測(cè)試的數(shù)據(jù)映射時(shí),設(shè)法插入一個(gè)間接層。該附加層非常脆弱,編寫起來(lái)感到非常困難。

Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate映射,包括介紹設(shè)置HSQLDB等方面。

我曾對(duì)Hibernate有很深刻的印象,但我遇到的一個(gè)問題是,在使用Hibernate進(jìn)行單元測(cè)試的數(shù)據(jù)映射時(shí),設(shè)法插入一個(gè)間接層。該附加層非常脆弱,編寫起來(lái)感到非常困難。實(shí)際部署版本簡(jiǎn)單地通過(guò)了特定于Hibernate的實(shí)現(xiàn)。更壞的情況是,模擬版本比真正的“產(chǎn)品級(jí)”版本更復(fù)雜,只因?yàn)槟M版本里沒有基本對(duì)象存儲(chǔ)器和帶有Hibernate映射。

我也使用很多復(fù)雜的Hibernate查詢,想要對(duì)應(yīng)用程序的重要部分進(jìn)行單元測(cè)試。然而,對(duì)活動(dòng)的數(shù)據(jù)庫(kù)進(jìn)行測(cè)試不是好主意,因?yàn)檫@幾乎總是產(chǎn)生維護(hù)問題。另外,由于測(cè)試***互相獨(dú)立,在測(cè)試上下文數(shù)據(jù)中使用相同的主鍵意味著必須在每次測(cè)試前創(chuàng)建代碼來(lái)清理數(shù)據(jù)庫(kù),當(dāng)涉及到大量關(guān)系時(shí)就成為一個(gè)實(shí)際問題。

通過(guò)使用HSQLDB和Hibernate強(qiáng)大的模式生成工具,能夠?qū)?yīng)用程序映射層進(jìn)行單元測(cè)試,并在對(duì)象查詢中找到不計(jì)其數(shù)的bug,這在以前手工測(cè)試時(shí)是做不到的。利用下面的技術(shù)概述,可以在開發(fā)過(guò)程中對(duì)整個(gè)應(yīng)用程序進(jìn)行測(cè)試,并且在測(cè)試有效區(qū)域內(nèi)沒有損害。

設(shè)置HSQLDB

以前使用HSQLDB 1.7.3.0 版。為了使用數(shù)據(jù)庫(kù)的內(nèi)存版本,需要激活org.hsqldb.jdbcDriver的靜態(tài)加載程序。當(dāng)獲得JDBC連接時(shí),就可以使用JDBC url例如jdbc:hspldb:mem:yourdb,這里’yourdb’就是想要使用的內(nèi)存數(shù)據(jù)庫(kù)的名稱。

因?yàn)槭褂肏ibernate (3.0 beta 4),所以我?guī)缀鯚o(wú)需接觸實(shí)際活動(dòng)的JDBC對(duì)象。相反,我可以讓Hibernate完成很多繁重的任務(wù),包括從Hibernate映射文件中自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)模式。因?yàn)镠ibernate創(chuàng)建自身專有的連接池,所以它會(huì)基于TestSchema類中的配置代碼自動(dòng)加載HSQLDB JDBC驅(qū)動(dòng)程序。下面就是該類的靜態(tài)的初始化程序。

  1. public class TestSchema {  
  2. static {  
  3. Configuration config = new Configuration().  
  4. setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect").  
  5. setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver").  
  6. setProperty("hibernate.connection.url", "jdbc:hsqldb:mem:baseball").  
  7. setProperty("hibernate.connection.username", "sa").  
  8. setProperty("hibernate.connection.password", "").  
  9. setProperty("hibernate.connection.pool_size", "1").  
  10. setProperty("hibernate.connection.autocommit", "true").  
  11. setProperty("hibernate.cache.provider_class", "
    org.hibernate.cache.HashtableCacheProvider").  
  12. setProperty("hibernate.hbm2ddl.auto", "create-drop").  
  13. setProperty("hibernate.show_sql", "true").  
  14. addClass(Player.class).  
  15. addClass(BattingStint.class).  
  16. addClass(FieldingStint.class).  
  17. addClass(PitchingStint.class);  
  18. HibernateUtil.setSessionFactory(config.buildSessionFactory());  

【編輯推薦】

  1. 淺析Hibernate orm框架
  2. Hibernate Callback簡(jiǎn)單概括
  3. 概述Hibernate dbcp連接池使用方法
  4. Hibernate Shard三種策略剖析
  5. 討論Hibernate和模型對(duì)象
責(zé)任編輯:佚名 來(lái)源: 新浪科技
相關(guān)推薦

2009-09-28 12:57:54

Hibernate C

2009-09-25 10:00:47

Hibernate映射

2009-09-29 16:04:29

Hibernate S

2009-06-29 08:48:41

Hibernate緩存

2012-02-02 16:13:29

HibernateJava

2009-09-23 17:03:08

Hibernate S

2009-09-22 09:13:43

Hibernate D

2009-09-25 16:27:33

Hibernate S

2009-09-21 17:55:14

Hibernate O

2009-09-23 09:47:23

Hibernate e

2009-09-23 17:34:18

Hibernate映射

2012-02-03 11:17:33

HibernateJava

2012-02-03 10:07:04

HibernateJava

2009-06-02 14:46:26

Hibernate關(guān)系映射教程

2009-09-28 15:14:45

Hibernate S

2009-09-25 09:46:02

Hibernate高級(jí)

2009-09-29 15:58:22

Hibernate映射

2009-09-25 12:59:52

Hibernate映射

2009-09-27 10:02:29

定制Hibernate

2009-09-28 14:54:33

Hibernate映射
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)