Re:Problemas ao popular as Cidades[RESOLVIDO]

Senhores,

Não sei o que há de errado com esse código, mas não consigo obter o id do estado para buscar as cidades. O converter é chamado normal, mas o valor é sempre nullo!!! Estou enlouquecendo!!! Alguém pode me ajudar?

	<h:outputLabel  value="Estados:" />
		         <h:selectOneMenu  value="#{EmpresaBean.estadoSelecionada}"  converter="converterEstado" >
   		           <f:selectItems value="#{EmpresaBean.estados}"/>
   		           <f:ajax  event="change"  render="cidades" />
   	             </h:selectOneMenu>              
   	             <h:selectOneMenu id="cidades" value="#{EmpresaBean.estadoSelecionada}">
   		           <f:selectItems value="#{EmpresaBean.getCidades()}"/>
   	             </h:selectOneMenu>	 	

@ManagedBean(name="EmpresaBean")
@RequestScoped
public class EmpresaBean {
	
	private List<SelectItem> estados;
	private List<SelectItem> cidades;
	private Estado estadoSelecionada =  new Estado();
  
	@SuppressWarnings("unchecked")
	public List<SelectItem> getEstados() {
        List<Estado> listaEstados= new ArrayList<Estado>();
	Session session = HibernateUtil.getSession().openSession();
    	Criteria c = session.createCriteria(Estado.class);
        listaEstados = c.list();
        estados = new ArrayList<SelectItem>(listaEstados.size());
    	for(Estado est:listaEstados){
    		estados.add(new SelectItem(est,est.getNome()));
    	}	
        return estados;
	}

	@SuppressWarnings("unchecked")
	public List<SelectItem> getCidades() {
		System.out.println("estado + "+estadoSelecionada.getNome());//VEM SEMPRE NULLO!!!!!!!!!!!!!!
		List<Cidade> listaCid= new ArrayList<Cidade>();
		Session session = HibernateUtil.getSession().openSession();
    	Criteria c = session.createCriteria(Cidade.class);
    	c.add(Expression.sql("est_fk=1"));
    	listaCid = c.list();
        cidades = new ArrayList<SelectItem>(listaCid.size());
    	for(Cidade cidade:listaCid){
	    		cidades.add(new SelectItem(cidade,cidade.getNome()));
    	}	
        return cidades;
	}
	public void setEstados(List<SelectItem> estados) {
		this.estados = estados;
	}
	public Estado getEstadoSelecionada() {
		return estadoSelecionada;
	}
	public void setEstadoSelecionada(Estado estadoSelecionada) {
		this.estadoSelecionada = estadoSelecionada;
	}
}

Implementei esse código abaixo:

<h:selectOneMenu value="#{bean.country}" >
    <f:selectItems value="#{bean.countries}" var="country" itemValue="#{country}" itemLabel="#{country.name}" />
    <f:ajax listener="#{bean.changeCountry}" render="cities" />
</h:selectOneMenu>
<h:selectOneMenu id="cities" value="#{bean.city}">
    <f:selectItems value="#{bean.cities}" var="city" itemValue="#{city}" itemLabel="#{city.name}" />
</h:selectOneMenu>

Mas quando o meu ajax é chamado recebo o bean country nullo!!! Será que é um problema do jar ? Pois o converter está sendo chamado certinho! Alguém pela mordedeus pode me dar uma luz?