Ajuda com cadastro no VRaptor

Olá galera,

Estou tentando criar 1 form de cadastro no VRaptor. Criei todos os campos como manda o guia( ex: funcionario.nome, funcionario.email), porém quando tento receber os dados no controller, eu não consigo, pois minhas classes fazem uso de outras classes (Ex: O funcionario possui um objeto Instituicao).

todas as vezes que tento utilizar o cadastro do funcionário, o sistema gera exceção de NullPointer.

Isso me deixou intrigado, então resolvi testar o seguinte:

Criei 1 construtor vazio e inicializei os meus objetos.

Quando fiz isso, o erro deixou de acontecer.

Porém, eu faço uso do Hibernate para persistencia. E este, caso exista 1 classe instanciada e com id igual a 0 (zero), persiste a informação (no processo de save).

Como devo proceder nesse caso: Por questões de integridade dos dados não posso instanciar as classes, porém o VRaptor necessita dessa instanciação para que possa realizar o injection…

Aguardo respostas… valeu galera…

provavelmente vc está tentando acessar a instituição do funcionario, por isso da ex. posta seu cod ai que te ajudo

abrasss

[quote=renanreismartins]provavelmente vc está tentando acessar a instituição do funcionario, por isso da ex. posta seu cod ai que te ajudo

abrasss[/quote]

Segue o código (as classes eu me ative apenas aos atributos de relacionamento, porém o arquivo em anexo é a tela completa para análise):

[code]@Entity
public class Funcionario {

private Instituicao instituicao;


[/code]

[code]@Embeddable
public class Instituicao {

private Uf uf;


[/code]

[code]@Entity
public class Uf {

private long codigo;
private String sigla;
private String nome;


[/code]

[code]@Resource
public class FuncionarioService {

@Post("usuario/cadastrar")
public void salvarFuncionario(Funcionario funcionario) {

[/code]

tem como postar a parte do js que faz a requisição? de preferencia em texto?

Não sei se é isso que vc quer… mas lá vai:

[code] text: ‘Enviar’,
handler: function() {
var form = this.up(‘form’).getForm();
if (!form.isValid()) {
Ext.Msg.alert(‘Atenção’, ‘Preencha corretamente os campos obrigatórios!’);
return false;
}

            this.el.mask('Cadastrando');
            
            form.submit({
        		url: 'usuario/cadastrar',
    			scope: this,
    			success: function() {
    				this.el.unmask();
    				return true;
    			}
 			});
        }[/code]

e qual é o formulario em questão?