Quanto tento inserir duas movimentações, aparece uma mensagem de erro dizendo "Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '29' for key 'UK_nf3ulaoqe53gtm70wfwnpl79x'".
Tentei inseri-las uma a uma, comentando o em.persist(mv) ou mv2 e funcionou. Poderiam me ajudar?
package br.com.matheus.aulajpa.jpa.testes;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import br.com.matheus.aulajpa.jpa.modelo.Categoria;
import br.com.matheus.aulajpa.jpa.modelo.Conta;
import br.com.matheus.aulajpa.jpa.modelo.Movimentacao;
import br.com.matheus.aulajpa.jpa.modelo.TipoMovimentacao;
public class TestaRelacionamentoMovimentacaoCategoria {
public static void main(String[] args) {
Categoria categoria = new Categoria("Viagem");
Categoria categoria2 = new Categoria("Negocio");
Conta conta = new Conta();
conta.setId(2L);
Movimentacao mv = new Movimentacao();
mv.setDescricao("Viagem a Curitiba");
mv.setTipoMovimentacao(TipoMovimentacao.SAIDA);
mv.setData(LocalDateTime.now());
mv.setValor(new BigDecimal(300.0));
mv.setCategorias(Arrays.asList(categoria, categoria2));
mv.setConta(conta);
Movimentacao mv2 = new Movimentacao();
mv2.setDescricao("Viagem a SP");
mv2.setTipoMovimentacao(TipoMovimentacao.SAIDA);
mv2.setData(LocalDateTime.now());
mv2.setValor(new BigDecimal(350.0));
mv2.setCategorias(Arrays.asList(categoria, categoria2));
mv2.setConta(conta);
EntityManagerFactory emf = Persistence.createEntityManagerFactory("contas");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(categoria);
em.persist(categoria2);
em.persist(mv);
em.persist(mv2);
em.getTransaction().commit();
em.close();
}
}