package com.cajp.giros.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.cajp.giros.domain.util.CustomLocalDateSerializer; import com.cajp.giros.domain.util.ISO8601LocalDateDeserializer; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.Type; import org.joda.time.LocalDate; import javax.persistence.*; import java.io.Serializable; import java.util.HashSet; import java.util.Set; import java.util.Objects; /** * A Amigos. */ @Entity @Table(name = "T_AMIGOS") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) public class Amigos implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(name = "nome") private String nome; @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate") @JsonSerialize(using = CustomLocalDateSerializer.class) @JsonDeserialize(using = ISO8601LocalDateDeserializer.class) @Column(name = "data_nascimento") private LocalDate dataNascimento; @Column(name = "bi") private String bi; @Column(name = "niss") private String niss; @Column(name = "nacionalidade") private String nacionalidade; @Column(name = "autorizacao_residencia") private String autorizacaoResidencia; @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate") @JsonSerialize(using = CustomLocalDateSerializer.class) @JsonDeserialize(using = ISO8601LocalDateDeserializer.class) @Column(name = "data_registo") private LocalDate dataRegisto; @Column(name = "caracteristicas") private String caracteristicas; @Column(name = "observacoes") private String observacoes; @ManyToOne private Tipologia tipologia; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public LocalDate getDataNascimento() { return dataNascimento; } public void setDataNascimento(LocalDate dataNascimento) { this.dataNascimento = dataNascimento; } public String getBi() { return bi; } public void setBi(String bi) { this.bi = bi; } public String getNiss() { return niss; } public void setNiss(String niss) { this.niss = niss; } public String getNacionalidade() { return nacionalidade; } public void setNacionalidade(String nacionalidade) { this.nacionalidade = nacionalidade; } public String getAutorizacaoResidencia() { return autorizacaoResidencia; } public void setAutorizacaoResidencia(String autorizacaoResidencia) { this.autorizacaoResidencia = autorizacaoResidencia; } public LocalDate getDataRegisto() { return dataRegisto; } public void setDataRegisto(LocalDate dataRegisto) { this.dataRegisto = dataRegisto; } public String getCaracteristicas() { return caracteristicas; } public void setCaracteristicas(String caracteristicas) { this.caracteristicas = caracteristicas; } public String getObservacoes() { return observacoes; } public void setObservacoes(String observacoes) { this.observacoes = observacoes; } public Tipologia getTipologia() { return tipologia; } public void setTipologia(Tipologia tipologia) { this.tipologia = tipologia; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Amigos amigos = (Amigos) o; if ( ! Objects.equals(id, amigos.id)) return false; return true; } @Override public int hashCode() { return Objects.hashCode(id); } @Override public String toString() { return "Amigos{" + "id=" + id + ", nome='" + nome + "'" + ", dataNascimento='" + dataNascimento + "'" + ", bi='" + bi + "'" + ", niss='" + niss + "'" + ", nacionalidade='" + nacionalidade + "'" + ", autorizacaoResidencia='" + autorizacaoResidencia + "'" + ", dataRegisto='" + dataRegisto + "'" + ", caracteristicas='" + caracteristicas + "'" + ", observacoes='" + observacoes + "'" + '}'; } }