Ah Entendi posso colocar o Indice do Contato era isso mesmo que queria saber vlw
Lucas fiz o teste eu me enganei tmb não funciona colocar direto pessoa.endereco da o mesmo erro.
Única forma que funciona é se eu jogar o endereço pra dentro do cliente.
Olha eu inclui jar do ongl 3.0.5 e agora tá funcionando normal.
Eu vi nesse tópico
http://www.guj.com.br/java/285824-vraptor-heranca#1510611
parece ser o mesmo problema.
verdade, tinha esquecido disso…
bom, qqer problema dá um toque.
Vlw Lucas
Lucas eu tentei fazer aqui que você disse para preencher uma lista mas não tá dando certo.
<select class="combobox input-large" id="comboMarca" name ="cliente.pessoa.veiculo[0].marcaveiculo.id">
<option value=""></option>
<c:forEach var="marcaVeiculo" items="${marcaVeiculo}">
<option value="${marcaVeiculo.id}">${marcaVeiculo.nome}</option>
</c:forEach>
</select>
eu tenho esse código no JSP e e mostrado em um modal.
Eu preencho o campo e quando mando salvar não salva nada e também não da erro.
se o nome do campo é marcaVeiculo, tem que ser marcaVeiculo no nome do input.
e a lista se chama veiculo ou veiculos? os nomes tem que bater com os nomes dos campos/getters/setters
Deu certo tava errado mesmo o nome do atribulo.
ele ta salvando no banco normalmente mais o fk não é inserido , ele não coloca automático?
public class Veiculo extends EntityModel {
@OneToOne
MarcaVeiculo marcaVeiculo;
@OneToOne
ModeloVeiculo modeloVeiculo;
@OneToOne
Combustivel combustivel;
String cor;
String anoFabricacao;
String anoModelo;
@ManyToOne
@JoinColumn(name="cliente_id",nullable = false)
private Cliente cliente;
public MarcaVeiculo getMarcaVeiculo() {
return marcaVeiculo;
}
public void setMarcaVeiculo(MarcaVeiculo marcaVeiculo) {
this.marcaVeiculo = marcaVeiculo;
}
public ModeloVeiculo getModeloVeiculo() {
return modeloVeiculo;
}
public void setModeloVeiculo(ModeloVeiculo modeloVeiculo) {
this.modeloVeiculo = modeloVeiculo;
}
public Combustivel getCombustivel() {
return combustivel;
}
public void setCombustivel(Combustivel combustivel) {
this.combustivel = combustivel;
}
public String getCor() {
return cor;
}
public void setCor(String cor) {
this.cor = cor;
}
public String getAnoFabricacao() {
return anoFabricacao;
}
public void setAnoFabricacao(String anoFabricacao) {
this.anoFabricacao = anoFabricacao;
}
public String getAnoModelo() {
return anoModelo;
}
public void setAnoModelo(String anoModelo) {
this.anoModelo = anoModelo;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public class Cliente extends EntityModel{
@OneToMany(mappedBy = "cliente", targetEntity = Veiculo.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<Veiculo> veiculo;
}
No banco ele preenche todos os campos menos o cliente_id na tabela veiculo.
Não , como assim poderia dar um exemplo?
como vc tá preenchendo o cliente no veículo?
Eu não passo cliente ID nenhum lugar.
como vo setar o objeto
cliente.veciulo[0].cliente.id?
peraí… vc tá salvando um cliente novo, passando um monte de veiculos certo?
se sim, não vai dar pra vc setar o id do cliente no formulário… vc vai precisar salvar o cliente no banco e depois sair setando o cliente em cada um dos veículos e salvar os veículos.