使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承
2010-04-19 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹

在上一章节中我们了解了如何持久化存在继承关系的实体内,并且介绍了 OpenJPA 在处理继承关系时的细节行为,接下来我们将介绍如何从数据库中获取实体,以及 OpenJPA 在这个过程中对于继承关系处理的细节。
获取所有 Animal 对象
我们通过 OpenJPA 中的 Query 接口和 JPQL(Java Persistence Query Language)语言来获取数据库中的记录并且转换为相应的 Java 对象,因此开发者只需要处理 Java 对象模型即可。下面的代码可以从数据库中获取所有的 Animal 对象,请注意其中粗体的部分。
1. // 通过 Persistence 创建 EntityManagerFactory
2. EntityManagerFactory factory = Persistence.createEntityManagerFactory(
3. "jpa-unit", System.getProperties());
4. // 创建新的 EntityManager
5. EntityManager em2 = factory.createEntityManager();
6.
7. // 查询所有 Animal 对象
8. Query q = em2.createQuery("select m from Animal m");
9.
10. // 直接处理 Animal 对象,打印 Animal 对象的信息
11. for (Animal m : (List<Animal>) q.getResultList()) {
12. System.out.println("Animal Object:");
13. System.out.println(" id:" + m.getId());
14. System.out.println(" name:" + m.getName());
15. }
16.
17. // 关闭 EntityManager 和 EntityManagerFactory
18. em2.close();
19. factory.close();
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接