Tenho uma tela que persiste uma entidade do banco. Entidade Veiculo. (hibernate).
Essa entidade tem dependência para outra entidade. Entidade Marca (previamente cadastrada).
Quando preenchidos os dados, se o usuário preencher uma marca para o veiculo, na requisição posso mandar:
veiculo.descricao
veiculo.marca.idMarca
No controller, recebo um objeto Veiculo, que vai estar com os atributos descricao e marca preenchidos… marca vai ter só o id.
Nesse caso, na hora de persistir não há problema algum pois o hibernate consegue referenciar a marca só pelo id.
A questão é que quando o usuário não seleciona nenhuma marca, o vRaptor vai instanciar da mesma maneira o objeto marca e setar no objeto veiculo,
mas por não ser null, vai dar erro de persistência.
O filtro deu certo em partes…
O objeto está ficando nulo quando nada é selecionado no combo, porém quando um valor é selecionado ele não está conseguindo setar o id da entidade.
Na requisição está vindo: veiculo.marca.id = 20
No controller eu recebo um objeto Veiculo.
O único detalhe é que esse id é estendido de outra entidade:
Veiculo extends EntidadeBase
Marca extends EntidadeBase
e a EntidadeBase tem o atributo id.
Nesse caso, O vraptor consegue injeta-lo?