package com.hantsylabs.example.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Version; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import org.hibernate.validator.constraints.Email; @Entity public class Signup { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id") private Long id; @Version private Integer version; @NotNull private String firstName; @NotNull private String lastName; @NotNull @Email private String email; private String phone; private String occupation; @Size(max = 2000) private String company; private String comment; @ManyToOne() private Conference conference; @Enumerated(EnumType.STRING) private Status status; public Signup() {} public Signup(String firstName, String lastName, String email) { this.firstName=firstName; this.lastName=lastName; this.email=email; } @Override public String toString() { return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE); } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getVersion() { return this.version; } public void setVersion(Integer version) { this.version = version; } public String getFirstName() { return this.firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return this.lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return this.email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return this.phone; } public void setPhone(String phone) { this.phone = phone; } public String getOccupation() { return this.occupation; } public void setOccupation(String occupation) { this.occupation = occupation; } public String getCompany() { return this.company; } public void setCompany(String company) { this.company = company; } public String getComment() { return this.comment; } public void setComment(String comment) { this.comment = comment; } public Conference getConference() { return this.conference; } public void setConference(Conference conference) { this.conference = conference; } public Status getStatus() { return this.status; } public void setStatus(Status status) { this.status = status; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((email == null) ? 0 : email.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Signup other = (Signup) obj; if (email == null) { if (other.email != null) return false; } else if (!email.equals(other.email)) return false; return true; } }