[RESOLVIDO] Anotação JPA

Bom dia

estou tentando usar a anotação:
@OneToMany(cascade = CascadeType.ALL, mappedBy = “iSolicitacao”)

mas não estou conseguindo, ja vi varios comentarios aqui no forum e mesmo assim nao consegui fazer funcionar

estou fazendo dessa forma:

    private String situacao;
    @JoinColumn(name = "i_usuario", referencedColumnName = "i_usuario")
    @ManyToOne(optional = false)
    private Usuario iUsuario;
    @JoinColumn(name = "i_tipo_solicitacao", referencedColumnName = "i_tipo_solicitacao")
    @ManyToOne(optional = false)
    private TipoSolicitacao iTipoSolicitacao;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "iSolicitacao")
    private Collection<Tramite> tramiteCollection;
package br.com.entecnologia.conversor;

import br.com.entecnologia.dao.TipoSolicitacaoDAO;
import br.com.entecnologia.modelo.TipoSolicitacao;
import javax.ejb.EJB;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

@FacesConverter(value = "tipoSolicitacaoConversor")
public class TipoSolicitacaoConversor implements Converter {

    @EJB
    private TipoSolicitacaoDAO dao;
    private TipoSolicitacao tipoSolicitacao = null;

    public TipoSolicitacao getTipoSolicitacao() {
        if (tipoSolicitacao == null) {
            tipoSolicitacao = new TipoSolicitacao();
        }
        return tipoSolicitacao;
    }

    public void setTipoSolicitacao(TipoSolicitacao tipoSolicitacao) {
        this.tipoSolicitacao = tipoSolicitacao;
    }

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if (value != null && !value.equals("")) {
            tipoSolicitacao = dao.id(Integer.valueOf(value));
            System.out.println("Conversor tipo: " + value + " - banco: " + tipoSolicitacao);
        }

        return tipoSolicitacao;
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        String id = null;
        
        if (value instanceof TipoSolicitacao) {
            tipoSolicitacao = (TipoSolicitacao) value;
            id = String.valueOf(tipoSolicitacao.getiTipoSolicitacao());
            System.out.println("asstring cadastro: " + id);
        }
        return id;
    }
}

[/code]
@Override
public boolean gravar(Solicitacao solicitacao) {
return super.gravar(solicitacao);
}

[code]

<p:selectOneMenu id="cboTipoSolicitacao" value="#{solicitacaoControle.solicitacao.iTipoSolicitacao}" converter="tipoSolicitacaoConversor">
                                <f:selectItem itemValue="" itemLabel="Selecione um tipo de solicita&ccedil;&atilde;o" />
                                <f:selectItems value="#{tipoSolicitacaoControle.listaTodos}" var="tipo"
                                               itemValue="#{tipo}" itemLabel="#{tipo.nome}" />
                            </p:selectOneMenu>

eu até utilizei o exemplo do site: http://altieresm.wordpress.com/2011/10/26/combos-aninhados-com-jsf2-e-primefaces/

mas tambem não deu certo

da forma que esta ele me da o seguinte erro

alguem poderia me ajudar ou me passar um exemplo de como resolver?

Oq o cascade tem haver com isso?

Você leu a mensagem de erro? NumberFormatException: For input string: “Comprovante de Rendimentos”

entao ele me mostra esse erro quando eu deixo como null o campo no banco quando eu deixo com not null ele dah o seguinte erro

e se eu nao utilizo o converter ele me da a seguinte msg

Erro de conversão ao definir o valor 1 para null Converter

[quote=e_novaski]e se eu nao utilizo o converter ele me da a seguinte msg

Erro de conversão ao definir o valor 1 para null Converter

[/quote]E você leu a segunda mensagem de erro?
Caused by: java.lang.NullPointerException
at br.com.entecnologia.controle.SolicitacaoControle.gravar(SolicitacaoControle.java:142)

Até agora não entendi pq o cascade ta levando a culpa…

Isso não tem nada haver com cascade. :smiley:
O erro está no seu converter.
Utilize o debug para ver oq está acontecendo na hora de converter os dados