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 + ",phoneNumber:" + phoneNumber + ",address:" + address; 94 } 95 }