Enterprise JavaBeans 3.0(第5版)(中文版)
Enterprise JavaBeans 3.0(第5版)(中文版)
Bill Burke, Richard Monson-Haefel
莫映, 徐昊, 胡凯 译
出版时间:2007年06月
页数:732
Enterprise JavaBeans 3.0是有关EJB 3.0及Java Persistence新标准的权威指南。EJB 3.0代表了EJB规范的一个全新的思考,新规范极大地简化了EJB编程模型。如果你是一位EJB开发人员,那就需要理解这一新的开发范式。
EJB 3.0简化标准所采用的所有方法在本书中都有详细介绍: 新的Persistence API将entity bean替代为“普通的Java对象”(POJOs);改用Java注解来提供以往包含于XML部署描述文件中的信息;免除了实现EnterpriseBean接口的需要。畅销书Enterprise JavaBeans的第5版对大量示例都做了更新,这些示例将向你展示上述新特性的使用方法。此外,它还将告诉你,如何将这些示例全都部署到JBoss 4应用服务器中。
本书内容主要涵盖以下几个方面:
*Entity bean、session bean及message-driven bean的开发
*Entity Manager与Persistence API的使用
*Entity bean间的实体关联
*实体查询与EJB查询语言
*实体继承映射
还有许多其他的内容。如果你正在使用EJB 3.0,或者计划向EJB 3.0做移植,又或者想考查一下其所提供的功能,那么Enterprise JavaBeans 3.0就是你的不二之选。它是你所需的唯一资源。
Bill Burke是JBoss(Red Hat的子公司)的首席开发者,并且他还是EJB 3.0与Java EE 5规范委员会中JBoss公司的代表。
Richard Monson-Haefel是Enterprise Java领域的世界顶级专家之一。
“EJB 3.0为EE的关键性规范注入了新的活力。借助Java 5注解和重新实现的持久化方案,EJB3.0对Java EE编程进行了重新定义。它极度简洁的特点令其使用起来颇有乐趣。Richard的经典之作,由Bill改编后的新版本,为你介绍了这一新规范的使用方法。如果你涉足企业应用领域,那么这本EJB书籍无疑就是你的唯一所需”。
—Marc Fleury,CEO,JBoss
  1. 序 I
  2. 前言 V
  3. 第一部分 EJB 3.0标准
  4. 第1章 引言 3
  5. 服务器端组件 4
  6. 持久化和Entity Beans 6
  7. 异步通信 6
  8. Web Services 8
  9. Titan航运:一个假想的业务系统 10
  10. 接下来是什么 10
  11. 第2章 架构概览 11
  12. Entity Bean 11
  13. Enterprise Bean组件 14
  14. 使用Enterprise Bean和Entity Bean 22
  15. Bean容器的规约 28
  16. 总结 29
  17. 第3章 资源管理和基本服务 31
  18. 资源管理 31
  19. 基本服务 39
  20. 后续内容 50
  21. 第4章 编写你的第一组Bean 51
  22. 开发Entity Bean 51
  23. 开发Session Bean 54
  24. 第5章 持久化服务: EntityManager 63
  25. 实体即POJO 64
  26. 托管与非托管实体 65
  27. 为Persistence Unit打包 67
  28. 获取EntityManager 71
  29. 操作EntityManager 75
  30. Resource Local事务 82
  31. 第6章 映射持久对象 85
  32. 编程模型 86
  33. 基本的关系映射 89
  34. 主键 93
  35. 成员属性映射 104
  36. 用@SecondaryTable进行多表映射 111
  37. @Embedded对象 114
  38. 第7章 实体关联 117
  39. 七种关联类型 117
  40. 映射集合型关系 150
  41. 游离实体和FetchType 153
  42. 级联 154
  43. 第8章 实体继承 159
  44. 每个类层次结构一张表 160
  45. 每个具体类一张表 163
  46. 每个子类一张表 165
  47. 混合策略 168
  48. 非实体基类 168
  49. 第9章 实体查询与EJB QL 170
  50. Query API 171
  51. EJB QL 175
  52. 原生查询 201
  53. 具名查询 204
  54. 第10章 Entity回调和监听器 207
  55. 回调事件 207
  56. Entity Class上的回调方法 208
  57. Entity监听器 209
  58. 第11章 Session Beans 213
  59. Stateless Session Bean 214
  60. SessionContext 225
  61. Stateless session bean的生命周期 229
  62. Stateful Session Bean 232
  63. Stateful session bean的生命周期 243
  64. Stateful Session Bean和Extended Persistence Context 247
  65. 嵌套的stateful session bean 248
  66. 第12章 Message-Driven Beans 250
  67. JMS和Message-Driven Bean 250
  68. 基于JMS的Message-Driven Bean 261
  69. Message-Driven Bean的生命周期 275
  70. 基于连接器的Message-Driven Bean 278
  71. 消息连接 281
  72. 第13章 定时服务 285
  73. Titan系统的船舶维修定时器 286
  74. Timer Service API 287
  75. 事务 297
  76. Stateless session bean定时器 297
  77. Message-Driven Bean定时器 299
  78. 结束语 304
  79. 第14章 JNDI ENC与依赖注入 305
  80. JNDI ENC 305
  81. 不同类型的引用与注入 313
  82. 第15章 拦截器 339
  83. 拦截方法 339
  84. 拦截器和注入 347
  85. 拦截生命周期事件 349
  86. 异常处理 352
  87. 拦截器的生命周期 355
  88. Bean Class中的@AroundInvoke方法 355
  89. 拦截器的后续改进 356
  90. 第16章 事务 357
  91. ACID事务 357
  92. 声明性事务管理 362
  93. 隔离和数据库锁定 374
  94. 非事务型EJB 385
  95. 显式的事务管理 386
  96. 异常和事务 397
  97. 事务型stateful session bean 403
  98. 会话型的Persistence Context 406
  99. 第17章 安全 413
  100. 验证与身份 414
  101. 授权 415
  102. 在XML中指定bean方法 418
  103. RunAs安全身份 421
  104. 编程方式的安全控制 422
  105. 第18章 EJB 3.0: Web Service标准 425
  106. Web Service概述 425
  107. XML Schema和XML Namespace 426
  108. SOAP 1.1 438
  109. WSDL 1.1 441
  110. UDDI 2.0 449
  111. 从标准到实现 450
  112. 第19章 EJB 3.0与Web Service 451
  113. 通过JAX-RPC访问Web Service 452
  114. 利用JAX-RPC定义Web Service 461
  115. 使用JAX-WS 466
  116. 其他注解及API 476
  117. 第20章 Java EE 477
  118. Servlets 477
  119. JavaServer Pages 479
  120. Web组件和EJB 479
  121. 填补罅隙 480
  122. 将所有内容串起来 486
  123. 第21章 实战EJB设计 488
  124. 设计之前:容器和数据库 488
  125. 设计 491
  126. 你应该使用EJB吗 517
  127. 总结 521
  128. 第二部分 Jboss手册
  129. 第2部分的引言 525
  130. JBoss操作手册的内容 525
  131. 手册1 JBoss的安装与配置 527
  132. 关于JBoss 527
  133. 安装JBoss应用服务器 527
  134. JBoss内核速览 531
  135. 热部署 533
  136. 练习代码的安装与配置 534
  137. 手册2 第4章练习 537
  138. 练习4.1:用JBoss开发的第一组Bean 537
  139. 练习4.2:使用注解进行JNDI绑定 544
  140. 练习4.3:使用XML进行JNDI绑定 549
  141. 手册3 第5章练习 551
  142. 练习5.1:与EntityManager交互 551
  143. 练习5.2:独立Java应用中的持久化 561
  144. 手册4 第6章练习 565
  145. 练习6.1:基本成员属性映射 565
  146. 练习6.2:@IdClass 569
  147. 练习6.3:@EmbeddedId 571
  148. 练习6.4:多表映射 573
  149. 练习6.5:Embeddable类 575
  150. 手册5 第7章练习 577
  151. 练习7.1:级联 577
  152. 练习7.2:反向关联 583
  153. 练习7.3:延迟初始化 587
  154. 手册6 第8章练习 593
  155. 练习8.1:每个类层次结构一张表 593
  156. 练习8.2:每个具体类一张表 597
  157. 练习8.3:JOINED继承策略 599
  158. 手册7 第9章练习 602
  159. 练习9.1:Query API与EJB QL基础 602
  160. 练习9.2:原生SQL查询 621
  161. 手册8 第10章练习 626
  162. 练习10.1:Entity回调 626
  163. 练习10.2:Entity监听器 631
  164. 手册9 第11章练习 639
  165. 练习11.1:Stateless Session Bean 639
  166. 练习11.2:XML覆盖 643
  167. 练习11.3:不加注解的Stateless Session Bean 646
  168. 练习11.4:Stateful Session Bean 647
  169. 练习11.5:不带注解的Stateful Session Bean 654
  170. 手册10 第12章练习 655
  171. 练习12.1:Message-Driven Bean 655
  172. 手册11 第13章练习 663
  173. 练习13.1:EJB定时服务 663
  174. 手册12 第15章练习 666
  175. 练习15.1:EJB拦截器 666
  176. 练习15.2:拦截EJB回调 668
  177. 手册13 第16章练习 671
  178. 练习16.1:会话型的Persistence Context 671
  179. 手册14 第17章练习 674
  180. 练习17.1:安全 674
  181. 练习17.2:利用XML进行安全配置 679
  182. 手册15 第19章练习 681
  183. 练习19.1:发布Stateless Bean 681
  184. 练习19.2:使用.NET客户端 689
  185. 第三部分 附录
  186. 附录A JBOSS数据库配置 695
  187. 索引 699
书名:Enterprise JavaBeans 3.0(第5版)(中文版)
译者:莫映, 徐昊, 胡凯 译
国内出版社:中国电力出版社
出版时间:2007年06月
页数:732
书号:978-7-121-04001-6
原版书出版商:O'Reilly Media
Bill Burke
 
Bill Burke是JBoss公司的首席架构师。除了联合领导JBoss的EJB 3.0及AOP项目外,他还代表JBoss,作为EJB 3.0及Java EE 5规范委员会的专家。Bill是《JBoss操作手册》的作者之一(该手册包含在《Enterprise JavaBeans(第4版)》中),此外,他还在各种出版物与在线杂志上发表过多篇文章。
 
 
Richard Monson-Haefel
 
Richard Monson-Haefel是三本畅销书的获奖作者,著有:《Enterprise JavaBeans》(O'Reilly)和《J2EE Web Services》(Addison-Wesley),并合作撰写了《Java Message Service》(O'Reilly)。他是Enterprise Java领域的世界顶级专家与书籍作者之一。他是OpenEJB的首席架构师,OpenEJB是一个用在苹果机的WebObjects平台上的开源EJB容器。在过去几年里,他还是J2EE、CORBA、Java RMI,以及其他分布式计算项目方面的咨询专家。关于他的更多信息,可以在Richard的网站上获得:http://www.monson-haefel.com。

Richard Monson-Haefel是Burton Group的高级分析师,他也是Enterprise JavaBeans领域最资深的专家之一。他曾对EJB 2.1、EJB 3.0以及J2EE 1.4规范的开发鼎力相助,并曾任职于JCP Executive Committee(JCP执行委员会),监管为J2SE和J2EE平台开发的所有JSR(规范)。
Richard是Apache Geronimo Project(一个开源J2EE应用服务器)以及OpenEJB项目(一个开源EJB容器)的创始人。他还是三本畅销书的获奖作者,著有《Enterprise JavaBeans》(O'Reilly出版)和《J2EE Web Services》
(Addison-Wesley出版),并合作撰写了《Java Message Service》(O'Reilly出版)。要了解有关Richard的更多信息,请访问他的网站
http://www.monson-haefel.com。
Richard Monson-Haefel is the author of the first five editions of Enterprise Java
Beans (O’Reilly), the first edition of Java Message Service (O’Reilly), and is one of the
world’s leading experts and book authors on enterprise computing.
 
 
《Enterprise JavaBeans 3.0(第5版)》封面上的动物是一只沙袋鼠和它的幼仔。沙袋鼠是一种中等体态的有袋类动物,它属于袋鼠家族(袋鼠科,即第二大有袋动物科)。它们以食草和嫩叶为生,原产于澳大利亚,在大洋洲的许多地区都能看到。雌性沙袋鼠有一个发育良好的前袋,其幼仔就放在里面。小袋鼠出生时个头很小,而且眼睛也看不见,它们会本能地爬进母亲的袋中开始吃奶。小袋鼠会一直待在母亲的袋子里,直到真正长大为止。雌性沙袋鼠最多可以同时看护三只幼仔:一只在其子宫里,一只放在袋子里,还有一只,尽管已经长大离开了袋子,但是仍然要回来吃奶。
与所有袋鼠科的动物一样,沙袋鼠也有细长的后脚和强有力的后腿。它们又长又重的大尾巴主要起平衡和稳定作用,不能用来卷东西。沙袋鼠有些类似于袋鼠,但是要更小一些:其身长可能小于2英尺,也可能超过5英尺。尾巴大约要占总长度的一半。非常奇怪的是,尽管沙袋鼠可以快速跳跃(时速可达50km/h),却不会后退!
世界上主要有3种类型的沙袋鼠,即灌木袋鼠,岩袋鼠和甲尾袋鼠。灌木袋鼠共有11种(袋鼠属),其中包括“红颈”和“美面”袋鼠,另外还有6种岩袋鼠(岩属)。灌木袋鼠通常生活在灌木丛或开阔的树林里。岩袋鼠以其异常敏捷而著称,一般可以在岩石附近和有水的地方找到它们。只有3种甲尾袋鼠(刺尾属),它们之所以得名,是因为在其尾端长有一块角质物。其中两种甲尾袋鼠已经濒临灭绝,尽管它们曾经是数量最为繁多的沙袋鼠,但是由于狐狸和野猫的侵袭,已经所剩无几。除了被猎杀以及生活环境遭到破坏以外,目前沙袋鼠所面临的主要威胁是食肉动物的捕食以及同类动物之间的竞争。
封面图片取自1865年出版的The Illustrated Natural History:Mammalia,由J.G. Wood所著。