package com.crm.entityBeans; import java.io.Serializable; import java.util.Arrays; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name="SPG_ACTIVATION_KEYS") public class SpgActivationKey implements Serializable { private static final long serialVersionUID = -3393979250125170658L; private Long id; private String companyId; private User user; private Date creationDate; private Date expirationDate; private byte[] activationKey; @Id @GeneratedValue(generator="SAK_SEQ_ID") @SequenceGenerator(name="SAK_SEQ_ID", sequenceName="SPG_ACTIVATION_KEYS_SEQ") @Column(name = "SAK_ID", nullable=false) public Long getId() { return id; } @Column(name = "SAK_COMPANY_ID", nullable=false) public String getCompanyId() { return companyId; } @OneToOne(targetEntity=User.class) @JoinColumn(name="SAK_CREATION_UID", nullable=false) public User getUser() { return user; } @Column(name = "SAK_CREATION_DATE", nullable=false) public Date getCreationDate() { return creationDate; } @Column(name = "SAK_EXPIRATION_DATE", nullable=false) public Date getExpirationDate() { return expirationDate; } @Column(name="SAK_ACTIVATION_KEY", columnDefinition="blob", nullable=false) public byte[] getActivationKey() { return activationKey; } public void setId(Long id) { this.id = id; } public void setCompanyId(String companyId) { this.companyId = companyId; } public void setUser(User user) { this.user = user; } public void setCreationDate(Date creationDate) { this.creationDate = creationDate; } public void setExpirationDate(Date expirationDate) { this.expirationDate = expirationDate; } public void setActivationKey(byte[] activationKey) { this.activationKey = activationKey; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + Arrays.hashCode(activationKey); result = prime * result + ((companyId == null) ? 0 : companyId.hashCode()); result = prime * result + ((creationDate == null) ? 0 : creationDate.hashCode()); result = prime * result + ((expirationDate == null) ? 0 : expirationDate.hashCode()); result = prime * result + ((user == null) ? 0 : user.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof SpgActivationKey)) return false; SpgActivationKey other = (SpgActivationKey) obj; if (!Arrays.equals(activationKey, other.activationKey)) return false; if (companyId == null) { if (other.companyId != null) return false; } else if (!companyId.equals(other.companyId)) return false; if (creationDate == null) { if (other.creationDate != null) return false; } else if (!creationDate.equals(other.creationDate)) return false; if (expirationDate == null) { if (other.expirationDate != null) return false; } else if (!expirationDate.equals(other.expirationDate)) return false; if (user == null) { if (other.user != null) return false; } else if (!user.equals(other.user)) return false; return true; } }