快速业务通道

一步一步学EJB3.0(四):实体Bean开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

一步一步学EJB3.0(四):实体Bean开发

时间:2011-08-05 Beniao

EJB3.0实体Bean开发是是很简单的,主要就是学习标注的使用, 现在EJB3实体Bean是纯粹的POJO.实际 上这表达了和Hibernate持久化实体对象同样的概念.它们的映射都通过JDK5.0注解来定义(EJB3规范已经 定义了对应的XML描述语法).注解分为两个部分,分别是逻辑映射注解和物理映射注解,通过逻辑映射注解 可以描述对象模型,类之间的关系等等,而物理映射注解则描述了物理的schema,表,列,索引等等.

这些标注都封装在javax.persistence包下,如果是使用Hibernate则在下载包里有个叫ejb3- persistence.jar的jar包,他就是用来完成开发支持EJB3的实体类的包,大部分和JDK5兼容的IDE(象 Eclipse, IntelliJ IDEA 和Netbeans等等)都提供了注解接口和属性的自动完成功能.(这些不需要IDE提 供特别的EJB3支持模块,因为EJB3注解是标准的JDK5注解)这里不作详细介绍,还是进入本文的主题吧.

每一个持久化POJO类都是一个实体bean,这可以通过在类的定义中使用@Entity注解来进行声明,如下所 示: 1 @Entity  //标识该JavaBean为一个实体Bean

2 @Table(name="orm_oto_users") //标识该实体Bean映射到数据库的那一张表

3 public class User {

通过@Entity注解将一个类声明为一个实体bean(即一个持久化POJO类),Table则是标识该实体映射到数 据库的那一张表.

在对一个类进行注解时,你可以选择对它的的属性或者方法进行注解,根据你的选择,Hibernate的访问 类型分别为field或property. EJB 3规范要求在需要访问的元素上进行注解声明,例如,如果访问类型为 property就要在getter方法上进行注解声明,如果访问类型为field就要在字段上进行注解声明.应该尽量 避免混合使用这两种访问类型.

一步一步学EJB3.0(四):实体Bean开发(2)

时间:2011-08-05 Beniao

1 @Entity  //标识该JavaBean为一个实体Bean   2 @Table(name="orm_oto_users") //标识该实体Bean映射到数据库的那一张表   3 public class User {   4     5   @Id //Id用于标识该字段为主键字段   6   @Column(name="user_id") //映射到数据库的user_id字段   7   //主键生成策略   8   @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="user_id_seq")   9   private Long id; 10 11   @Column(name="FIRST_NAME") 12   private String firstName; 13 14   @Column(name="LAST_NAME") 15   private String lastName; 16 17   private String email; 18 19   private String Password; 20 21   @Temporal(TemporalType.DATE) 22   private Date created; 23 24   @OneToOne(mappedBy="user",cascade=CascadeType.ALL) 25   private Address address; 26 27   public User() { 28     super(); 29     // TODO Auto-generated constructor stub 30   } 31 32   public User(String firstName, String lastName, String email, 33       String password, Date created) { 34     super(); 35     this.firstName = firstName; 36     this.lastName = lastName; 37     this.email = email; 38     Password = password; 39     this.created = created; 40   } 41 42   public User(Long id, String firstName, String lastName, String email, 43       String password, Date created) { 44     super(); 45     this.id = id; 46     this.firstName = firstName; 47     this.lastName = lastName; 48    

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