Problemas para salvar Date!

Olá pessoal, boa noite !
Estou enfrentando um problema em minha aplicação (TCC), tenho uma classe Pessoa que possui um atributo dataNascimento tipo Date, que é mapeado pelo Hibernate para um banco Mysql.
Tenho um formulário que recebe os dados e manda para a Dao realizar a persistencia, porém, o campo dataNascimento (input) sempre é setado como vazio, mesmo eu digitando algum valor sobre o mesmo ele volta como null.
Estou realizando este projeto através do vRaptor. Abaixo vou postar minhas 3 classes e meu formulário que atuam na função de salvar este meu objeto !

[code]@Entity
public class Pessoa implements Serializable {

@Id
@GeneratedValue
private int id;
private String nome;
@CPF
private String cpf;
@Temporal(TemporalType.DATE)
@Column(name = "data_nascimento")
@NotNull(message = "Campo data não pode ser nulo !")
private Date dataNascimento;
private String profissao;
@Email(message = "E-mail inválido, insira um e-mail válido para prosseguir o cadastro.")
@Column(name = "email_acesso")
private String email;
private String senha;
private String perfil;
@OneToMany(mappedBy = "pessoa")
@Cascade(CascadeType.ALL)
private List<Telefone> telefones;
@OneToMany(mappedBy = "pessoa")
private List<Imovel> imoveis;
@OneToMany(mappedBy = "pessoa")
private List<Interesses> interesses;
@OneToMany(mappedBy = "pessoa")
private List<Contrato> contratos;
//getters e setters

[/code]

[code]@Component
public class PessoaDao {

private Session sessao;

public PessoaDao(Session sessao) {
    this.sessao = sessao;
}

public void salvar(Pessoa pessoa) {
    try {
        Transaction tr = this.sessao.beginTransaction();
        this.sessao.save(pessoa);
        tr.commit();
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println(e.getMessage());
    }

}

public Pessoa buscar(int id) {
    return (Pessoa) sessao.load(Pessoa.class, id);
}

public List<Pessoa> listar() {
    return sessao.createCriteria(Pessoa.class).list();
}

public void atualizar(Pessoa pessoa) {
    Transaction tr = sessao.beginTransaction();
    sessao.update(pessoa);
    tr.commit();
}[/code]

[code]@Resource
public class PessoasController {

private PessoaDao dao;
private Result result;
private Validator validator;

public PessoasController(PessoaDao dao, Result result, Validator validator) {
    this.dao = dao;
    this.result = result;
    this.validator = validator;
}

public void formulario() {
}

public void salvar(Pessoa pessoa) {

// SimpleDateFormat formato = new SimpleDateFormat(“yyyy-MM-dd”);
// formato.format(pessoa.getDataNascimento());
// Date data = new SimpleDateFormat(“yyyy-MM-dd”).parse(“1991-10-12”);
// pessoa.setDataNascimento(data);
// System.out.println("------> pessoa.data:" + pessoa.getDataNascimento());
try {
validator.validate(pessoa);
validator.onErrorUsePageOf(PessoasController.class).formulario();
dao.salvar(pessoa);
result.redirectTo(PessoasController.class).lista();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}

}[/code]

<label for="dataNascimento">Data Nascimento:</label> <input id="dataNascimento" type="date" name="pessoa.dataNascimento"/>

Não sei ao certo, mas creio que possa ser algo errado no meu formulário, o modo como trabalho com o input talvez, ou esteja faltando algo para complementar o envio deste valor.

Agradeço a atenção de todos desde já, e peço com que me ajudem, por favor ! Obrigado

Rafael,

Faça um teste bem simples, coloque o valor como DATE() apenas, ele vai pegar a data atual, no lugar do SimpleDateFormat.

pessoa.setDataNascimento(new Date());  

Se inserir o valor no banco de dados e por causa da formatação, já tive problemas parecidos, hoje uso Richfaces com o rich::calendar para cuidar disso.
Posta o resultado ai!

faz um teste

 <input id="dataNascimento" type="text" name="pessoa.dataNascimento"/> 

coloca o type como text, e vc se funciona,

o que pode estar acontecendo, como vc colocou date no type, ele deve estar passando o valor de forma diferente e ai o vraptor não consegue converter o valor

Ai Rafael_Ferraro,

Uma pergunta “BABACA” você gerou os Get’s e Set’s do atributo em questão corretamente ?

Att,

DaniloAndrade - Já tinha tentado desta maneira, mas o valor que eu passo no input não é setado tb, alias, é setado como null =/

magnocosta - Cara os getters e setters estão corretos, trabalho com netbeans e ele me gerou de forma “quase automática” , mas estão corretos sim.

rafa_85 - Fazendo desta maneira o atributo é setado, mas não é salvo no banco pq o tipo da minha coluna esta como Date, e eu consigo alterar apenas para DateTime, porque como ja tenho alguns valores salvos ele me gera dados truncados ao tentar alterar como Timestamp, estou em horario de almoço (trabalho em um pc da empresa e este projeto é o meu tcc), quando sair do trampo vou deletar as chaves estrangeiras que tenho em outras tabelas referentes a tabela pessoa e te falo. Mas pelo menos ele me seta o valor atual no atributo !

Algum de voces ja trabalhou com vraptor ? Ou já trabalhou com o salvamento de data de forma parecida ? Acho que com o jsf é muito parecido! Como vocês criam este input ? Pq não é possível ele receber os dados na uri mas não passar os dados para o meu atributo !

Obrigado pela atenção pessoal !