快速业务通道

使用Spring,JSF,EJB3设计企业应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
本类型,也可以是一个类。主键既作为实体 Bean 在内存中的标识符,也作为 数据表中一行的标识符。它在实体 Bean 中是不可缺少的,并且必须是唯一的

表名为 product。实体 Bean 的成员属性分别映射到 product 表的对应字段 。

修改主键的生成方式为自增,给主键添加如下代码: @GeneratedValue(strategy = GenerationType.AUTO)

@javax.persistence.GeneratedValue 注释指定主键值生成方式,该注释与 @Id 注释结合使用在主键属性上。只有在使用持久化驱动生成数据表 schema 时 才需指定该注释。如果您的数据表已经存在,那么该注释不需要指定。 strategy() 属性指定字段值生成策略。 GenerationType.AUTO:由容器根据数据 库类型选择一种合适的生成方式,这种方式带有随机性,不同的 JPA 实现产品的 做法各有不同 (JBoss 将 JPA 实现为 Hibernate),对于本文而言,Hibernate 知道 HSQL 支持 ID 自增长,所以会选择 GenerationType.IDENTITY。

清单 2. 修改之后的代码

package org.zhouxing.simple; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; /** Entity implementation class for Entity: Product  */ @Entity @Table(name = "product") public class Product implements Serializable {    @Id    @GeneratedValue(strategy = GenerationType.AUTO)    private long id;    private String name;    private String description;    private Double price;    private Integer inventory;    public Product() {      super();    }    ...setters,getters 方法省略 }

@javax.persistence.Entity 注释指明这是一个实体 Bean,name() 属性指定 实体 bean 的名称,在本文中没有为该属性提供取值,默认值为 bean class 的 非限定类名。 @javax.persistence.Table 注释指定了实体 Bean 所要映射的表 ,name() 属性指定映射表的名称。如果缺省 @Table 注释,系统默认采用实体名 称作为映射表的名称。在本文中采用的表名为product 。

至此 JPA Project 完成,接下来是 EJB Project 。

使用Spring,JSF,EJB3设计企业应用程序(6)

时间:2011-05-25 IBM 周行

开发 EJB Project

新建名称为 simpleEJB 的 EJB 工程,EJB Module version 为 3.0, Configuration 为 Default Configuration for JBoss v4.2,选中 Add project to anEAR,如下图:

图 7. 新建 EJB 工程

点击 Next,取消选择 Create an EJB Clicent JAR,点击完成。

使用Spring,JSF,EJB3设计企业应用程序(7)

时间:2011-05-25 IBM 周行

新建名称为 org.zhouxing.simple. ProductDAOBean 的 Session Bean,如下 图:

图 8. 新建 Session Bean

选择生成 Local 和 Remote 接口。

使用Spring,JSF,EJB3设计企业应用程序(8)

时间:2011-05-25 IBM 周行

同时实现 Remote 与 Local 接口是一种比较好的做法。这样您既可以在远程 访问 EJB,也可以在本地访问 EJB 。在本地接口中写出业务方法,远程接口继承 本地接口的所有方法。代码如下:

清单 3. Remote 与 Local 接口

本地接口: package org.zhouxing.simple; import java.util.List; /** 本地接口 * @author 周行 */ public interface ProductDAOLocal {    /**    查询所有的 Product     @return    */    public List<Product> findAll();    /**    添加 Product     @param prod

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号