1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Dúvida toString Spring, JPA e Query

Estou quebrando a cabeça há um tempão com isso. Agradeço desde já pela ajuda e atenção. Trabalho com JPA e Spring num projeto de java desktop. Gostaria que ao adicionar um objeto fornecedor numa listbox, o método toString() mostrasse o nome do objeto fornecedor, que está mapeado no atributo nm da classe Tipo. Como posso buscar o atributo nm correspondente ao código do fornecedor a partir da classe tipo ? (Que o JPA preenche corretamente)

Classe Fornecedor

@Entity
@Table(name = "fornecedor")
@NamedQueries({
    @NamedQuery(name = "Fornecedor.findAll", query = "SELECT f FROM Fornecedor f")})
@Component
public class Fornecedor implements Serializable 
{
    @Transient
    @Autowired
    private FornecedorDao dao;
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cd_fornecedor")
    private Integer cdFornecedor;
    @OneToMany(mappedBy = "cdFornecedor")
    private List<Tipo> tipoList;
    @OneToMany(mappedBy = "cdFornecedor")
    private List<Produto> produtoList;

    public Fornecedor() {
    }

    public Fornecedor(Integer cdFornecedor) {
        this.cdFornecedor = cdFornecedor;
    }

    public Integer getCdFornecedor() {
        return cdFornecedor;
    }

    public void setCdFornecedor(Integer cdFornecedor) {
        this.cdFornecedor = cdFornecedor;
    }

    public List<Tipo> getTipoList() {
        return tipoList;
    }

    public void setTipoList(List<Tipo> tipoList) {
        this.tipoList = tipoList;
    }

    public List<Produto> getProdutoList() {
        return produtoList;
    }

    public void setProdutoList(List<Produto> produtoList) {
        this.produtoList = produtoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cdFornecedor != null ? cdFornecedor.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Fornecedor)) {
            return false;
        }
        Fornecedor other = (Fornecedor) object;
        if ((this.cdFornecedor == null && other.cdFornecedor != null) || (this.cdFornecedor != null && !this.cdFornecedor.equals(other.cdFornecedor))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() 
    {
    return "AQUIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII QUERO RETORNAR O ATRIBUTO NM DA CLASSE TIPO CORRESPONDENTE AO CODIGO DO FORNECEDOR";
    }

    public List<Fornecedor> listaTodosFornecedores() 
    {
    return this.dao.findAll();
    }
}

Classe Tipo

@Entity
@Table(name = "tipo")
@NamedQueries({
    @NamedQuery(name = "Tipo.findAll", query = "SELECT t FROM Tipo t")})
@Component
public class Tipo implements Serializable 
{
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cd_tipo")
    private Integer cdTipo;
    @Basic(optional = false)
    @Column(name = "nm")
    @NotNull @Size(min=3,max=60)
    private String nm;
    @JoinColumn(name = "cd_empresa", referencedColumnName = "cd_empresa")
    @ManyToOne
    private Empresa cdEmpresa;
    @JoinColumn(name = "cd_fornecedor", referencedColumnName = "cd_fornecedor")
    @ManyToOne
    private Fornecedor cdFornecedor;
    @JoinColumn(name = "cd_funcionario", referencedColumnName = "cd_funcionario")
    @ManyToOne
    private Funcionario cdFuncionario;
    @OneToMany(mappedBy = "cdFuncionario")
    private List<DiaTrabalho> diaTrabalhoList;
    @OneToMany(mappedBy = "cdEmpresa")
    private List<DiaTrabalho> diaTrabalhoList1;
    @OneToMany(mappedBy = "cdTipo")
    private List<Venda> vendaList;
    @OneToMany(mappedBy = "cdTipo")
    private List<Custo> custoList;

    public Tipo() {
    }

    public Tipo(Integer cdTipo) {
        this.cdTipo = cdTipo;
    }

    public Tipo(Integer cdTipo, String nm) {
        this.cdTipo = cdTipo;
        this.nm = nm;
    }

    public Integer getCdTipo() {
        return cdTipo;
    }

    public void setCdTipo(Integer cdTipo) {
        this.cdTipo = cdTipo;
    }

    public String getNm() {
        return nm;
    }

    public void setNm(String nm) {
        this.nm = nm;
    }

    public Empresa getCdEmpresa() {
        return cdEmpresa;
    }

    public void setCdEmpresa(Empresa cdEmpresa) {
        this.cdEmpresa = cdEmpresa;
    }

    public Fornecedor getCdFornecedor() {
        return cdFornecedor;
    }

    public void setCdFornecedor(Fornecedor cdFornecedor) {
        this.cdFornecedor = cdFornecedor;
    }

    public Funcionario getCdFuncionario() {
        return cdFuncionario;
    }

    public void setCdFuncionario(Funcionario cdFuncionario) {
        this.cdFuncionario = cdFuncionario;
    }

    public List<DiaTrabalho> getDiaTrabalhoList() {
        return diaTrabalhoList;
    }

    public void setDiaTrabalhoList(List<DiaTrabalho> diaTrabalhoList) {
        this.diaTrabalhoList = diaTrabalhoList;
    }

    public List<DiaTrabalho> getDiaTrabalhoList1() {
        return diaTrabalhoList1;
    }

    public void setDiaTrabalhoList1(List<DiaTrabalho> diaTrabalhoList1) {
        this.diaTrabalhoList1 = diaTrabalhoList1;
    }

    public List<Venda> getVendaList() {
        return vendaList;
    }

    public void setVendaList(List<Venda> vendaList) {
        this.vendaList = vendaList;
    }

    public List<Custo> getCustoList() {
        return custoList;
    }

    public void setCustoList(List<Custo> custoList) {
        this.custoList = custoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cdTipo != null ? cdTipo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Tipo)) {
            return false;
        }
        Tipo other = (Tipo) object;
        if ((this.cdTipo == null && other.cdTipo != null) || (this.cdTipo != null && !this.cdTipo.equals(other.cdTipo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "testao.Tipo[ cdTipo=" + cdTipo + " ]";
    }

}
  • Pelo o que está mapeado pelo menos, você teria uma lista de tipos para cada codigo de fornecedor não é essa a ideia?

    Fernando Beckenbach Buonocore   29 de jul de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags jpa hibernate java spring busca ou faça a sua própria pergunta.