持久層程式

package com.emprogria; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; @Entity @Table(name = "contact") @NamedQueries({ @NamedQuery(name = "Contact.findAll", query = "SELECT c FROM Contact c"), @NamedQuery(name = "Contact.findByMsn", query = "SELECT c FROM Contact c WHERE c.msn = :msn"), @NamedQuery(name = "Contact.findByRealName", query = "SELECT c FROM Contact c WHERE c.realName = :realName"), @NamedQuery(name = "Contact.findByTel", query = "SELECT c FROM Contact c WHERE c.tel = :tel")}) public class Contact implements Serializable { private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @Column(name = "MSN") private String msn; @Column(name = "RealName") private String realName; @Column(name = "TEL") private String tel; public Contact() { } public Contact(String msn) { this.msn = msn; } public String getMsn() { return msn; } public void setMsn(String msn) { this.msn = msn; } public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } @Override public int hashCode() { int hash = 0; hash += (msn != null ? msn.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - 必需要有主鍵 if (!(object instanceof Contact)) { return false; } Contact other = (Contact) object; if ((this.msn == null && other.msn != null) || (this.msn != null && !this.msn.equals(other.msn))) { return false; } return true; } @Override public String toString() { return "com.emprogria.Contact[msn=" + msn + "]"; } }