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

Converter com chave composta usando o @EmbeddedI

Bom dia povo. Estou usando JSF2 + PrimeFaces, e estou com problema no meu comboBox. seguinte minha combox e carregada a partir de uma classe com chave composta utilizando @EmbeddedI

classe PK

//---------------------------------------------------------------------------------

@Embeddable
public class Descricao_caracteristica_produtoPK implements Serializable{


    @Column(name = "id")
    private int id;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "caracteristica_produto_id", nullable = false)
    private Caracteristica_produto caracteristica_produto;

//---------------------------------------------------------------------------------

classe modelo

//---------------------------------------------------------------------------------

public class Descricao_caracteristica_produto implements Serializable {

    @EmbeddedId
    private Descricao_caracteristica_produtoPK id;

//---------------------------------------------------------------------------------

Converter

//---------------------------------------------------------------------------------

@FacesConverter(forClass = Descricao_caracteristica_produto.class, value = "Descricao_caracteristica_produtoConverter")
public class Descricao_caracteristica_produtoConverter implements Converter {

    private Descricao_caracteristica_produtoDAO dao = new Descricao_caracteristica_produtoDAO();

    @Override
    public Object getAsObject(FacesContext fc, UIComponent uic, String string) {


        try {
            return dao.listarPorCodigoUnique("Descricao_caracteristica_produto", "id", string);
        } catch (NumberFormatException e) {
            return null;
        }
    }

    @Override
    public String getAsString(FacesContext fc, UIComponent uic, Object o) {
        Descricao_caracteristica_produto obj = (Descricao_caracteristica_produto) o;
        try {
            return String.valueOf(obj.getId());
        } catch (Exception e) {
            return null;
        }
    }

//---------------------------------------------------------------------------------

o problema e que o converter espera uma string, mas como a classe e composta esta vendo a referencia da memoria, mas preciso que venha 2 ID, tentei fazer um to String lá na classe mas não deu muito certo. Alguém já passo por esse BO ???

  • Sei que não tem nada a ver com sua duvida,mas use as convenções da linguagem,usando CamelCase link .

    Ramon Pires   01 de out 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 jsf primefaces java ou faça a sua própria pergunta.