package com.phonoforce.tramory.entities;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;
import static javax.persistence.GenerationType.IDENTITY;
@Entity
@Table(name = "Customer")
@XmlRootElement(name = "customer")
@XmlAccessorType(XmlAccessType.FIELD)
public class Customer implements IEntity {
@XmlElement(required = true)
private int customerId;
@XmlElement(required = true)
private String eMail;
@XmlElement(required = true)
private String pseudonym;
@XmlElement(required = true)
private int passwordHash;
@XmlElement(required = true)
private Date created;
@XmlElement(required = true)
private String firstName;
@XmlElement(required = true)
private String middleName;
@XmlElement(required = true)
private String lastName;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "customer_id", unique = true, nullable = false)
public int getId() {
return customerId;
}
public void setId(int customerId) {
this.customerId = customerId;
}
@Column(name = "e_mail", nullable = false)
public String geteMail() {
return eMail;
}
public void seteMail(String eMail) {
this.eMail = eMail;
}
@Column(name = "pseudonym", nullable = false)
public String getPseudonym() {
return pseudonym;
}
public void setPseudonym(String pseudonym) {
this.pseudonym = pseudonym;
}
@Column(name = "password_hash", nullable = false)
public int getPasswordHash() {
return passwordHash;
}
public void setPasswordHash(int passwordHash) {
this.passwordHash = passwordHash;
}
@Column(name = "created", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
@Column(name = "first_name", nullable = false)
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Column(name = "middle_name", nullable = false)
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
@Column(name = "last_name", nullable = false)
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String toString() {
return "Customer{" +
"customerId=" + customerId +
", eMail='" + eMail + '\'' +
", pseudonym='" + pseudonym + '\'' +
", passwordHash=" + passwordHash +
", created=" + created +
", firstName='" + firstName + '\'' +
", middleName='" + middleName + '\'' +
", lastName='" + lastName + '\'' +
'}';
}
}