Dúvida JPA e MySQL?

2 respostas Resolvido
javahibernate
joaormv

No meu projeto tenho um tabela cliente que nela tenho uma referencia a tabela endereço onde tenho os campos:

Rua
Numero
Bairro
Cidade
Estado
CEP

Quando vou testar o DAO do cliente eu crio um objeto endereço e um cliente, seto as variáveis do cliente e passo o objeto endereço também na criação do cliente, mas tenho o seguinte erro:

ago 31, 2016 11:09:26 AM org.hibernate.internal.ExceptionMapperStandardImpl mapManagedFlushFailure
ERROR: HHH000346: Error during managed flush [org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance beforeQuery flushing: br.com.bse.webservicebse.domain.Endereco]

Nota: Resumindo, estou criando um cliente e seu endereço no banco de dados. Porque este erro? É possível isso?

2 Respostas

H
Solucao aceita

O problema é que você esta salvando o cliente antes de salvar o endereço, para resolver o problema salve o endereço antes de mandar salvar o cliente ou coloque o valor cascade=CascadeType.ALL na anotação de relacionamento da a propriedade endereço na classe cliente.

joaormv

Brigadão cara agora deu certo :slight_smile:

Criado 31 de agosto de 2016
Ultima resposta 31 de ago. de 2016
Respostas 2
Participantes 2