package com.titanic.ventapasajes.modelo; import org.hibernate.validator.constraints.NotBlank; import javax.persistence.*; import java.io.Serializable; import java.util.List; /** * Created by josediaz on 7/24/14. */ @Entity @Table(name = "pvm_recorrido") public class Recorrido implements Serializable { /** * */ private static final long serialVersionUID = 1L; private Long ideRecorrido; private String codeRuta; private String ruta; //nombre corto FIORI-CHICLAYO FIORI-ZAPALLAL-CHICLAYO PLAZANORTE-CHICLAYO private Terminal origen; private Terminal destino; private List<TarifaGeneral> precios; @Id @GeneratedValue @Column(name="ide_recorrido", nullable = false, length= 10) public Long getIdeRecorrido() { return ideRecorrido; } public void setIdeRecorrido(Long ideRecorrido) { this.ideRecorrido = ideRecorrido; } @NotBlank @Column(name="code_ruta", nullable=false, length = 50) public String getCodeRuta() { return codeRuta; } public void setCodeRuta(String codeRuta) { this.codeRuta = codeRuta; } @NotBlank @Column(name="ruta", nullable=false, length = 500) public String getRuta() { return ruta; } public void setRuta(String ruta) { this.ruta = ruta; } @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name = "terminal_origen", nullable = false) public Terminal getOrigen() { return origen; } public void setOrigen(Terminal origen) { this.origen = origen; } @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name = "terminal_destino", nullable = false) public Terminal getDestino() { return destino; } public void setDestino(Terminal destino) { this.destino = destino; } @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true , fetch = FetchType.LAZY) @JoinTable(name="pvr_recorrido_tarifa_general", joinColumns={@JoinColumn(name="ide_recorrido", referencedColumnName="ide_recorrido")}, inverseJoinColumns={@JoinColumn(name="ide_tarifa_general", referencedColumnName="ide_tarifa_general")}) public List<TarifaGeneral> getPrecios() { return precios; } public void setPrecios(List<TarifaGeneral> precios) { this.precios = precios; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Recorrido recorrido = (Recorrido) o; if (ideRecorrido != null ? !ideRecorrido.equals(recorrido.ideRecorrido) : recorrido.ideRecorrido != null) return false; return true; } @Override public int hashCode() { return ideRecorrido != null ? ideRecorrido.hashCode() : 0; } @Override public String toString() { return "Recorrido{" + "ideRecorrido=" + ideRecorrido + ", codeRuta='" + codeRuta + '\'' + ", ruta='" + ruta + '\'' + ", origen=" + origen + ", destino=" + destino + ", precios=" + precios + '}'; } }