1
resposta

Estou tendo Erro na JPA

Olá pessoal, estou tendo erro durante a execução da classe TestaRelacionamentoMovimentacaoCategoria. O meu projeto está idêntico ao do curso, exceto o nome do persistence unit e do schema do banco.

ERROR: Cannot add or update a child row: a foreign key constraint fails (`alura_jpa`.`movimentacao`, CONSTRAINT `FKthcy44mjtg87orpl9a3nfso7b` FOREIGN KEY (`conta_id`) REFERENCES `conta` (`id`))
Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement

Às vezes, dá este erro também:

`ERROR: Duplicate entry '15' for key 'UK_nf3ulaoqe53gtm70wfwnpl79x'
abr 09, 2020 6:01:05 PM org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release
INFO: HHH000010: On release of batch it still contained JDBC statements
Exception in thread "main" javax.persistence.RollbackException: Error while committing the transaction

Já no persistence.xml, está assim:

<persistence-unit name="contas">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>br.com.alura.jpa.modelo.Conta</class>
        <class>br.com.alura.jpa.modelo.Movimentacao</class>
        <class>br.com.alura.jpa.modelo.Cliente</class>
        <class>br.com.alura.jpa.modelo.Categoria</class>

Eu já retirei as <class> e testei mas dá o mesmo erro.

1 resposta

Pela primeira mensagem de erro, sua tabela "movimentacao" está referenciando uma conta que não existe através da FK "conta_id". Posta aqui o código da sua classe TestaRelacionamentoMovimentacaoCategoria, por favor.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software