Opinião quanto a organizacao dessas classes

Estou criando um projeto usando SpringMVC, e em certo ponto tou ficando na seguinte dúvida:
Tendo as seguintes classes

public class MarcaVO {
	private int idMarca;
	private String descricao;
//Gets e Setts
}

public class ModeloVO { private int idModelo; private String descricao; private MarcaVO marca; //Getters e Setters

public class VeiculoVO { private int idVeiculo; private String placa; private ModeloVO modelo; //Demais Campos/ Getters/Setters }

Para minha tela de cadastro de veículos, lá tive problemas para o cadastro de modelos pois lá até consigo acessar, por exemplo, veiculo.modelo.marca.descricao, mas, se ponho este campo associado a um quando dou submit ocorre um erro, que não poderei citar pq já fiz um “quebra-galho” e não sei mais o que aparecia.

O que fiz:
Criei uma classe VeiculoCMD e +/- assim:

public class VeiculoCMD { private int idVeiculo; private String placa; private String descricaoModelo; private int idModelo; private String descricaoMarca; private int idMarca; }

que é para o JSP conversar direito com ela.
Me digam, é normal se ter problemas com tipos não primitivos quando se tem que passar os mesmo para uma página jsp?

A solução foi a pior possível?

OBS.: quando o controller recebe o submit, a classe VeiculoCMD possui um método getVeiculoVO que retorna um VeiculoVO e daí todo o trabalho que faço nos controllers, DAO, … é feito na classe VeiculoVO.

Aguardo comentários, sugestões e críticas