Boa Noite,
Temos um sistema implementado com VRaptor que a parte de entidades do hibernate foram abstraidas com interfaces, todo mapeamento do hibernate está correto.
Mas nos deparamos com um detalhe no funcionamento do VRaptor para fazer a criação dos objetos ao chegar nos controllers,…
Os controllers do VRaptor não sofreram mudanças apos a alteracao das classes do hibernate, pois o VRaptor precisa conhecer a classe concreta que deve ser criada para receber os parametros da requisicao…
O problema que mesmo especificando o objeto concreto no controllers, os relacionamentos da classe estão abstraidas pelas interfaces, assim para o VRaptor conseguir setar os parametros desse objeto ele deve estar os atributos já instaciados.
Exemplo de um modelo que esse problema pode ser avaliado…
Interface Pessoa e Endereco
inteface Pessoa {
void setNome(String nome);
String getNome();
Endereco getEndereco();
void setEndereco(Endereco e);
}
inteface Endereco {
void setRua(String nome);
String getRua();
}
Implementação:
public class PessoaImpl implements Pessoa {
void setNome(String nome){
.................
}
String getNome() {
........
}
Endereco getEndereco(){....}
void setEndereco(Endereco e){....}
}
public class EnderecoImpl implements Endereco {
void setRua(String nome){
.................
}
String getRua() {
........
}
}
Metodo do controller:
public void salvar(PessoaImpl pessoaImpl) {
..... salva a pessoa
}
Recebendo a requisicao o VRaptor não consegue instanciar a classe EnderecoImpl…
Queria saber se há alguma maneira que posso fazer para contornar esse problema e oferecer uma solucao para que o VRaptor consiga utilizar as implementacoes corretas…
Obrigado galera…