package banco.modelo; import java.io.Serializable; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; @Entity public class ItemServico implements Serializable{ private static final long serialVersionUID = -1085293949054197011L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; @Column private Integer quantidade; @Column private BigDecimal total; @Column private BigDecimal valorUnitario; @Column private String descricao; @Column private boolean fornecedorVisivel; @ManyToOne private ProdutoServico item; @ManyToOne private Pessoa fornecedor; @ManyToOne @JoinColumn(name="orcamento_id") private Orcamento orcamento; @ManyToOne @JoinColumn(name="servicoPrestado_id") private ServicoPrestado servicoPrestado; @ManyToMany(cascade=CascadeType.ALL) @JoinTable(name="itensdoservico", joinColumns={ @JoinColumn(name="servico_id", referencedColumnName = "id") }, inverseJoinColumns={ @JoinColumn(name="item_id", referencedColumnName = "id") } ) private List<ItemServico> listaItem = new ArrayList<ItemServico>(); @ManyToOne private ItemServico servico; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getQuantidade() { return quantidade; } public void setQuantidade(Integer quantidade) { this.quantidade = quantidade; } public BigDecimal getTotal() { return total; } public void setTotal(BigDecimal total) { this.total = total; } public BigDecimal getValorUnitario() { return valorUnitario; } public void setValorUnitario(BigDecimal valorUnitario) { this.valorUnitario = valorUnitario; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public ProdutoServico getItem() { return item; } public void setItem(ProdutoServico item) { this.item = item; } public ServicoPrestado getServicoPrestado() { return servicoPrestado; } public void setServicoPrestado(ServicoPrestado servicoPrestado) { this.servicoPrestado = servicoPrestado; } public Pessoa getFornecedor() { return fornecedor; } public void setFornecedor(Pessoa fornecedor) { this.fornecedor = fornecedor; } public boolean isFornecedorVisivel() { return fornecedorVisivel; } public void setFornecedorVisivel(boolean fornecedorVisivel) { this.fornecedorVisivel = fornecedorVisivel; } public List<ItemServico> getListaItem() { return listaItem; } public void setListaItem(List<ItemServico> listaItem) { this.listaItem = listaItem; } public ItemServico getServico() { return servico; } public void setServico(ItemServico servico) { this.servico = servico; } public Orcamento getOrcamento() { return orcamento; } public void setOrcamento(Orcamento orcamento) { this.orcamento = orcamento; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; ItemServico other = (ItemServico) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; return true; } }