快速业务通道

用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
多么痛苦。通常涉 及创建大量 JDBC 代码或人工编写的长串 SQL 字符串,还涉及用许多接口创建 实体 EJB 并编写部署描述符。那种日子已经一去不复返,这要归功于 EJB V3.0 和 JPA 的出现。现在不但 EJB 易于使用,而且无需使用重量级应用服务器就可 以使用它们。

Java EE for Eclipse 可以充分支持 JPA。甚至还提供了 JPA 透视图。要切 换到该透视图,请选择 Window > Open Perspective > Other 并选择 JPA Development。

图 32. 打开 JPA 开发透视图

要创建域模型,只需创建简单的 Java 类。首先为 Players 表创建一个名为 org.developerworks.baseball.Player 的类。该类的代码如清单 5 所示:

清单 5. Player 类

package  org.developerworks.baseball; public class Player {     private int id;     private String firstName;     private String lastName; }

您将需要此类的 getter 和 setter。幸运的是,Eclipse 使这一切变得十分 简单。选择 Source > Generate Getters and Setters。

图 33. 生成代码

用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE(12)

时间:2010-11-29 IBM Michael Galpin

此操作将打开 Generate Getters and Setters 对话框。单击 Select All 和 OK。

图 34. 生成 getter 和 setter

得到的代码如清单 6 所示:

清单 6. 带有 getter 和 setter 的 Player 类

package  org.developerworks.baseball; public class Player {     private int id;     private String firstName;     private String lastName;     public int getId() {       return id;     }     public void setId(int id) {       this.id = id;     }     public String getFirstName() {       return firstName;     }     public void setFirstName(String firstName) {       this.firstName = firstName;     }     public String getLastName() {       return lastName;     }     public void setLastName(String lastName) {       this.lastName = lastName;     } }

要把类与数据库表关联起来,请在 JPA Structure 窗口中单击 Player 类。

图 35. JPA 结构

用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE(13)

时间:2010-11-29 IBM Michael Galpin

在 JPA Details 中,选择 Map As > Entity。

图 36. JPA 详细信息

在 Table 部分中,选择模式,并且可以在 Name 下拉框中选择 Players 表 。

图 37. 指定表

此操作应当会使代码发生更改。

图 38. 生成的 player 代码

在 Package Explorer 中选择 persistence.xml 文件,右键单击该文件,然 后选择 JPA Tools > Synchronize Classes。

图 39. 与数据库同步

此操作将使 Eclipse 针对数据库验证代码。您将注意到自己的代码无效。

图 40. 无效的 Player 类

用Eclipse Europa进行Web开发,第1部分 - Eclipse Java EE(14)

时间:2010-11-29 IBM Michael Galpin

这是怎么回事?看看 Problems 窗口。

图 41. Problems 窗口

第一个问题是我们的类未指定主键。要解决此问题,请在 JPA Structure 窗 口中单击 Id 属性。在 JPA Details 窗口中,选择 Map As > Id。

图 42. ID 属性的 JPA 详细信息

另请注意,由于 ID 列已设置为自动累加的列,因此需要指定主键使用 Identity 键生成策略。如果再执行一次 JPA 同步,就应当会看到已经解决了一 个问题。

其他问题源自 JPA 不能把 firstName 和 lastName 字段映射到 Players 表 的列中。那是因为

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号