Estou com o seguinte código
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
Categoria categoria = new Categoria();
categoria.setId(1);
String jpql = "select m from Movimentacao m join m.categoria c where c = :pCategoria";
Query query = em.createQuery(jpql); // Fazendo a instância do método Query
query.setParameter("pCategoria", categoria);
Só que quando executo dá um erro de objeto em Trasient
Exception in thread "main" java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.com.alura.financas.modelo.Categoria
at br.com.alura.financas.teste.TesteMovimentacoesPorCategoria.main(TesteMovimentacoesPorCategoria.java:28)
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.com.alura.financas.modelo.Categoria