WEB开发网      濠电姷鏁告繛鈧繛浣冲洤纾瑰┑鐘宠壘閻ょ偓銇勯幇鍫曟闁稿鍠愰妵鍕冀閵娧佲偓鎺楁⒒閸曨偄顏柡宀嬬畱铻e〒姘煎灡绗戦梻浣筋嚙濮橈箓顢氳濠€浣糕攽閻樿宸ュΔ鐘叉啞缁傚秹宕滆绾惧ジ寮堕崼娑樺缂佹宀搁弻鐔风暋閻楀牆娈楅梺璇″枓閺呯姴鐣疯ぐ鎺濇晝闁靛牆妫欓蹇旂節閻㈤潧浠﹂柛銊ョ埣楠炴劙骞橀鑲╋紱闂佽宕樼粔顔裤亹閹烘挸浜归梺缁樺灦閿曗晛螞閸曨垱鈷戦柟鑲╁仜婵″ジ鎮楀☉鎺撴珖缂侇喖顑呴鍏煎緞濡粯娅囬梻浣瑰缁诲倿寮绘繝鍥ㄦ櫇闁稿本绋撻崢鐢告煟鎼淬垻鈯曢柨姘舵煟韫囥儳绋荤紒缁樼箖缁绘繈宕橀妸褌绱濋梻浣筋嚃閸ㄤ即宕弶鎴犳殾闁绘梻鈷堥弫鍌炴煕閳锯偓閺呮瑧妲愬Ο琛℃斀闁绘劕妯婇崵鐔封攽椤旇棄鍔ら摶鐐烘煕閺囥劌澧柛娆忕箻閺屽秹宕崟顒€娅g紓浣插亾濠㈣泛顑囩粻楣冩煙鐎涙ḿ绠橀柨娑樼У椤ㄣ儵鎮欓鍕紙闂佽鍠栫紞濠傜暦閹偊妲诲┑鈩冨絻椤兘寮诲☉銏犖╅柕澶堝労閸斿绱撴担绋库偓鍝ョ矓瑜版帒鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘 ---闂傚倸鍊烽悞锔锯偓绗涘厾娲煛閸涱厾顔嗛梺璺ㄥ櫐閹凤拷
开发学院软件开发Java 持久化模式,第 1 部分: 现代 ORM 工具的策略和最... 阅读

持久化模式,第 1 部分: 现代 ORM 工具的策略和最佳实践

 2010-04-02 00:00:00 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄闁圭⒈鍋嗛惀顏囶樄闁哄本娲樼换婵婄疀閺囩姷鐛ラ梻浣哄帶婢瑰﹥绂嶅⿰鍫氣偓鏃堝礃椤忎礁浜鹃柨婵嗛婢ь喖霉閻樻瑥瀚粻楣冩煕椤愩倕鏋庨柣蹇嬪劜閵囧嫰寮村Ο鍝勫Е濡炪們鍨洪悷鈺呭箖閳╁啯鍎熼柕鍥у簻閹凤拷
核心提示: 数据访问核心 顾名思义,DAO 模式封装了访问一个对象或相关对象集中的数据的逻辑,持久化模式,第 1 部分: 现代 ORM 工具的策略和最佳实践(4),Hibernate 中的 DAO 包含 Criteria 查询和 Hibernate Query Language 查询,还有一个 Hibern

数据访问核心

顾名思义,DAO 模式封装了访问一个对象或相关对象集中的数据的逻辑。Hibernate 中的 DAO 包含 Criteria 查询和 Hibernate Query Language 查询,还有一个 Hibernate SessionFactory。所有面向数据库的逻辑都应该包含在 DAO 中,这意味着应该通过 DAO 存储和读取普通 Java 对象(POJO)和其他基本数据类型值。DAO 是企业 Java 分层体系结构中一种很典型的模式,通常通过一个服务访问 DAO。仔细研究 DAO 就会发现,它们的操作往往很相似。

为了了解 DAO 之间的共性,我们来看一些示例。清单 3 给出的两个方法根据 图 1 中定义的 Identifiable 接口中的 ID 查询 Address 和 Employee:

清单 3. 数据访问对象中的典型方法

public Address findById(Long id){ 
  return (Address) getSession().get(Address.class, id); 
} 
 
public Employee findById(Long id){ 
  return (Employee) getSession().get(Employee.class, id); 
} 

在 Employee 和 Address 上的这些操作之间,主要的差异仅仅是操作中使用的类。查询是相同的,只是把结果转换为不同的类。其他操作(比如删除模型中的给定实体或者从模型中获取某一实体的所有实例)在 DAO 中是相似的,在不同实体之间也是相似的。因此,可以利用 Java 1.5 的泛型功能创建一个可重用的 DAO,从而构成数据访问层的核心。

泛型 DAO

泛型 DAO 模式(也称为类型安全的 DAO)对于减少数据访问层中的代码重复非常重要。如果使用 Java 1.4,也可以因通用基 DAO 而受益;这种实现不是类型安全的,也不是很简洁,但是仍然能够减少代码重复。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:持久化 模式 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接