package com.titanic.ventapasajes.modelo; import org.hibernate.validator.constraints.NotBlank; import javax.persistence.*; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; import java.util.Objects; /** * Created by josediaz on 1/11/16. */ @Entity @Table(name = "pvm_tripulante") public class Tripulante implements Serializable{ private static final long serialVersionUID = 1L; private Long ideTripulante; private TipoDocumento tipoDocumento; private String nroDocumento; private Seguridad seguridad; private String nombres; private String apellidos; private Sexo sexo; private Date fechaNacimiento; private HojaRuta hojaRuta; @Id @GeneratedValue @Column(name="ide_tripulante", nullable = false, length= 10) public Long getIdeTripulante() { return ideTripulante; } public void setIdeTripulante(Long ideTripulante) { this.ideTripulante = ideTripulante; } @NotNull @Enumerated(EnumType.STRING) @Column(name="tipo_documento", nullable=false, length = 50) public TipoDocumento getTipoDocumento() { return tipoDocumento; } public void setTipoDocumento(TipoDocumento tipoDocumento) { this.tipoDocumento = tipoDocumento; } @NotBlank @Column(name="numero_documento", unique=true, nullable=false, length = 11) public String getNroDocumento() { return nroDocumento; } public void setNroDocumento(String nroDocumento) { this.nroDocumento = nroDocumento; } @Transient public Seguridad getSeguridad() { return seguridad; } public void setSeguridad(Seguridad seguridad) { this.seguridad = seguridad; } @NotBlank @Column(name="nombres", nullable=false, length = 255) public String getNombres() { return nombres; } public void setNombres(String nombres) { this.nombres = nombres; } @NotBlank @Column(name="apellidos", nullable=false, length = 255) public String getApellidos() { return apellidos; } public void setApellidos(String apellidos) { this.apellidos = apellidos; } @NotNull @Enumerated(EnumType.STRING) @Column(name="sexo", nullable=false, length = 50) public Sexo getSexo() { return sexo; } public void setSexo(Sexo sexo) { this.sexo = sexo; } @ManyToOne @JoinColumn(name = "ide_hoja_ruta", nullable = false) public HojaRuta getHojaRuta() { return hojaRuta; } public void setHojaRuta(HojaRuta hojaRuta) { this.hojaRuta = hojaRuta; } @Temporal(TemporalType.DATE) @Column(name = "fecha_nacimiento") public Date getFechaNacimiento() { return fechaNacimiento; } public void setFechaNacimiento(Date fechaNacimiento) { this.fechaNacimiento = fechaNacimiento; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Tripulante that = (Tripulante) o; return Objects.equals(ideTripulante, that.ideTripulante); } @Override public int hashCode() { return Objects.hash(ideTripulante); } @Override public String toString() { return "Tripulante{" + "ideTripulante=" + ideTripulante + ", tipoDocumento=" + tipoDocumento + ", nroDocumento='" + nroDocumento + '\'' + ", seguridad=" + seguridad + ", nombres='" + nombres + '\'' + ", apellidos='" + apellidos + '\'' + ", sexo=" + sexo + ", fechaNacimiento=" + fechaNacimiento + '}'; } }