Flex + BlazeDS + Java + Hibernate

Bom pessoal, estou utilizando o Flex pela primeira vez em um projeto, estou gostando muito, porém to tendo uma dor de cabeça aqui na hora da persistência.

Vamos lá:

No lado do java, eu tenho uma entidade chamada FornecedorVO. Tenho a camada de Serviço (FornecedorService) e tenho a persistência (FornecedorHibernateDao).
No lado do flex, eu tenho o mxml da tela de cadastro e uma classe actionscript chamada FornecedorVO (espelho da classe Java)

Eis os códigos: (Apenas uns trechos)

FornecedorGUI.mxml

public function cadastrarFornecedor(event : Event ) : void {
	var novoFornecedor : FornecedorVO = new FornecedorVO();
	novoFornecedor.razaoSocial = campoRazaoSocial.text;
	novoFornecedor.nomeFantasia = campoNomeFantasia.text;
	novoFornecedor.fabricante = campoFabricante.text;
	novoFornecedor.endereco = campoEndereco.text;
	novoFornecedor.bairro = campoBairro.text;
	novoFornecedor.cidade = campoCidade.text;				
	novoFornecedor.estado = "Paraíba";				
	novoFornecedor.observacao = campoObservacao.text;
	novoFornecedor.codigoContabil = campoCodigoContabil.text;
	novoFornecedor.icms = campoICMS.text;
	novoFornecedor.vendedor = campoVendedor.text;
	novoFornecedor.cep = campoCEP.text;
	novoFornecedor.fax = campoFax.text;
	novoFornecedor.email = campoEmail.text;
	novoFornecedor.homepage = campoHomepage.text;
	novoFornecedor.tipo = "Pessoa Física";
	novoFornecedor.cpf_cnpj = campoCpfCnpj.text;
	novoFornecedor.inscricaoEstadual = campoInscricaoEstadual.text;
	novoFornecedor.fone1 = campoFone1.text;
	novoFornecedor.fone2 = campoFone2.text;
	novoFornecedor.diasAtraso  = Number(campoDiasAtraso.text);
	novoFornecedor.codigoSIAF = Number(campoCodigoSIAF.text);
	novoFornecedor.prazoPagamento = 30;
	novoFornecedor.limite = Number(campoLimite.text);
	novoFornecedor.debito = Number(campoDebito.text);
	novoFornecedor.saldo = Number(campoSaldo.text);
	novoFornecedor.dataVisita = "23/05/2011";
	novoFornecedor.dataEntrega = "23/05/2011";
	novoFornecedor.dataCadastro = "23/05/2011";
	novoFornecedor.dataNascimento = "23/05/2011";
	fornecedorService.cadastrarFornecedor(novoFornecedor);
}		

FornecedorService.java

    public void cadastrarFornecedor(FornecedorVO fornecedor) throws BusinessException {
        System.out.println("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
        System.out.println("=          Iniciando Cadastro de Fornecedor                                             =");
        System.out.println("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
        try {
	     fornecedorDao.cadastrarFornecedor(fornecedor);
        } catch (DBException e) {
	     throw new BusinessException(e);             
             
	}	        
    }   

FornecedorHibernateDao.java

public class FornecedorHibernateDao implements FornecedorDao
{
    private HibernateDao<FornecedorVO> hibernateDao ;

    public FornecedorHibernateDao()
    {
	hibernateDao = new HibernateDao<FornecedorVO>(FornecedorVO.class);
    }

    public void cadastrarFornecedor(FornecedorVO fornecedor) 
    {
        try {
            System.out.println(fornecedor);
            hibernateDao.salvar(fornecedor);    
            System.out.println("Cadastrou Fornecedor");
	} catch (HibernateException h) {
            System.out.println("Nao Cadastrou Fornecedor");
            h.printStackTrace();
        }
    }

HibernateDao

public void salvar(T bean) {
		Session session = HibernateUtil.getSession();
		session.save(bean);
}

Ta tudo mapeado direitinho, só que quando chega na hora de salvar o objeto, não ta salvando. Já tentei criar uma classe de teste passando o mesmo objeto como parâmetro e consigo cadastrar.

OBS: O objeto ACtion script passado como parâmetro pra o método cadastrarFornecedor, está chegado no java tudo ok

Outra coisa interessante:

 try {
            System.out.println(fornecedor);
            hibernateDao.salvar(fornecedor);    
            System.out.println("Cadastrou Fornecedor");
	} catch (HibernateException h) {
            System.out.println("Nao Cadastrou Fornecedor");
            h.printStackTrace();
        }

Quando tento cadastrar um fornecedor via Flex, na saída do tomcat não aparece nenhum print, nenhum stack trace. Só aparece:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
= Iniciando Cadastro de Fornecedor =
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
FornecedorVO{id=null, razaoSocial=, nomeFantasia=, fabricante=, endereco=, bairro=, cidade=, estado=Paraíba, observacao=, codigoContabil=, icms=, vendedor=, cep=, fax=, email=, homepage=, tipo=Pessoa Física, cpf_cnpj=null, inscricaoEstadual=null, fone1=null, fone2=null, diasAtraso=0, codigoSIAF=0, prazoPagamento=30, limite=0.0, debito=0.0, saldo=0.0, dataVisita=23/05/2011, dataEntrega=23/05/2011, dataCadastro=23/05/2011, dataNascimento=23/05/2011}

Alguém sabe q é isso?

Você realmente pensou que isso fosse Java Básico? Não me impressiona que seu tópico não esteja tendo respostas.

Movido para o fórum de Persistência.

Presta atenção onde postar. Usar o fórum certo é fundamental para que seu tópico seja atendido.

Quem está controlando a transação com o banco de dados ?
Talvez nao tenha uma transacao envolvida, por isso de nao gravar…

Meu tenta fazer esse código abaixo.

public void salvar(T bean) {

		Session session = HibernateUtil.getSession();
        Transaction transaction = session.beginTransaction();                                
		session.save(bean);
        session.flush;
        transaction.commit();
}

Valeu :smiley:

ViniGodoy

Foi mal, cara. Nem prestei atenção nisso

edvaldo.santiago
Olá Edvaldo, consegui resolver o problema. Pena que vim ver sua mensagem agora, depois de queimar os neurônios aqui. Era justamente isso que você falou e tinha uns outros detalhes, porque esse sistema tava configurado para JSF, e como estou fazendo a migração pra Flex, tive que alterar algumas coisas, mas enfim, deu tudo certo :d