程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 一步一步學EJB3.0(四):實體Bean開發

一步一步學EJB3.0(四):實體Bean開發

編輯:關於JAVA

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就要在字段上進行注解聲明.應該盡量避免混合使用這兩種訪問類型.

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 this.email = email;

49 Password = passWord;

50 this.created = created;

51 }

52

53 public Address getAddress() {

54 return address;

55 }

56

57 public void setAddress(Address address) {

58 this.address = address;

59 }

60

61 public Date getCreated() {

62 return created;

63 }

64

65 public void setCreated(Date created) {

66 this.created = created;

67 }

68

69 public String getEmail() {

70 return email;

71 }

72

73 public void setEmail(String email) {

74 this.email = email;

75 }

76

77 public String getFirstName() {

78 return firstName;

79 }

80

81 public void setFirstName(String firstName) {

82 this.firstName = firstName;

83 }

84

85 public Long getId() {

86 return id;

87 }

88

89 public void setId(Long id) {

90 this.id = id;

91 }

92

93 public String getLastName() {

94 return lastName;

95 }

96

97 public void setLastName(String lastName) {

98 this.lastName = lastName;

99 }

100

101 public String getPassWord() {

102 return PassWord;

103 }

104

105 public void setPassword(String passWord) {

106 Password = passWord;

107 }

108 }

如上,便是一個完整的實體Bean,裡面我們使用了如@Entity,@Id之類的標注,這正是ejb 3.0的新特性,本文只是作一個簡單的介紹,詳細請大家查看相關書籍或資料.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved