Contacts.java
package contacts.entity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;
import java.util.UUID;
/**
* @author fdse
*/
@Data
@AllArgsConstructor
@Entity
@GenericGenerator(name = "jpa-uuid", strategy = "org.hibernate.id.UUIDGenerator")
@JsonIgnoreProperties(ignoreUnknown = true)
@Table(indexes = {@Index(name = "account_document_idx", columnList = "account_id, document_number, document_type", unique = true)})
public class Contacts {
@Id
// private UUID id;
@GeneratedValue(generator = "jpa-uuid")
@Column(length = 36)
private String id;
@Column(name = "account_id")
private String accountId;
private String name;
@Column(name = "document_type")
private int documentType;
@Column(name = "document_number")
private String documentNumber;
@Column(name = "phone_number")
private String phoneNumber;
public Contacts() {
//Default Constructor
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
Contacts other = (Contacts) obj;
return name.equals(other.getName())
&& accountId .equals( other.getAccountId() )
&& documentNumber.equals(other.getDocumentNumber())
&& phoneNumber.equals(other.getPhoneNumber())
&& documentType == other.getDocumentType();
}
@Override
public int hashCode() {
int result = 17;
result = 31 * result + (id == null ? 0 : id.hashCode());
return result;
}
}