/*
 * Exemplo Hibernate – Saíba como utilizar! [Dicas e Truques] – Parte 2
 *
 * Flávio Augusto Ribeiro Moura
 * http://www.flavi0ribeiro.wordpress.com
 *
 * Classe Venda comentada
 *
 */

package primeiraaplicacaohibernate;

import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author remix
 * Baixe, aproveite e comente o POST
 *
 */

@Entity
@Table (name = "vendas")
public class Venda implements java.io.Serializable {

    @Id
    private Integer id;
    @Column (name = "data")
    @Temporal(TemporalType.DATE)
    private Date data;
    @OneToOne(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
    @JoinColumn (name = "vendedor")
    private Usuario vendedor;

    @OneToMany(mappedBy="venda", fetch=FetchType.LAZY)
    private List<VendasItens> vendasItens;

    public List<VendasItens> getVendasItens() {
        return vendasItens;
    }

    public void setVendasItens(List<VendasItens> vendasItens) {
        this.vendasItens = vendasItens;
    }

    public Venda() {
    }

    public Venda(Integer id, Date data, Usuario vendedor) {
        this.id = id;
        this.data = data;
        this.vendedor = vendedor;
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Usuario getVendedor() {
        return vendedor;
    }

    public void setVendedor(Usuario vendedor) {
        this.vendedor = vendedor;
    }

}

