JPA(Java Persistence API)是JSR(Java Specification Requests)的一部分,定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate、TopLink等。
下面的示例程序是在jboss quickStart的基础上修改而来的
1、实体Bean:Member类1 package org.jboss.as.quickstart.hibernate4.model;
2
3 import java.io.Serializable;
4
5 import javax.persistence.Column;
6 import javax.persistence.Entity;
7 import javax.persistence.GeneratedValue;
8 import javax.persistence.GenerationType;
9 import javax.persistence.Id;
10 import javax.persistence.SequenceGenerator;
11 import javax.persistence.Table;
12 import javax.validation.constraints.Digits;
13 import javax.validation.constraints.NotNull;
14 import javax.validation.constraints.Pattern;
15 import javax.validation.constraints.Size;
16 import javax.xml.bind.annotation.XmlRootElement;
17 import org.hibernate.validator.constraints.Email;
18 import org.hibernate.validator.constraints.NotEmpty;
19
20 @Entity
21 @XmlRootElement
22 @Table(name = "MemberHibernate4Demo")
23 public class Member implements Serializable {
24
25 private static final long serialVersionUID = 3862416351900991824L;
26
27 @Id
28 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MEMBER_ID_GENERATOR")
29 @SequenceGenerator(name = "MEMBER_ID_GENERATOR", sequenceName = "SEQ_MEMBER", allocationSize = 1)
30 private Long id;
31
32 @NotNull
33 @Size(min = 1, max = 25)
34 @Pattern(regexp = "[A-Za-z ]*", message = "must contain only letters and spaces")
35 private String name;
36
37 @NotNull
38 @NotEmpty
39 @Email
40 private String email;
41
42 @NotNull
43 @Size(min = 9, max = 12)
44 @Digits(fraction = 0, integer = 12)
45 @Column(name = "phone_number")
46 private String phoneNumber;
47
48 private String address;
49
50 public Long getId() {
51 return id;
52 }
53
54 public void setId(Long id) {
55 this.id = id;
56 }
57
58 public String getName() {
59 return name;
60 }
61
62 public void setName(String name) {
63 this.name = name;
64 }
65
66 public String getEmail() {
67 return email;
68 }
69
70 public void setEmail(String email) {
71 this.email = email;
72 }
73
74 public String getPhoneNumber() {
75 return phoneNumber;
76 }
77
78 public void setPhoneNumber(String phoneNumber) {
79 this.phoneNumber = phoneNumber;
80 }
81
82 public String getAddress() {
83 return address;
84 }
85
86 public void setAddress(String address) {
87 this.address = address;
88 }
89
90 public String toString() {
91
92 return "id:" + id + ",name:" + name + ",email:" + email
93