Como eu conseguiria pegar o nome da categoria que esta na lista de movimentações?
public static void main(String[] args) {
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);
query.setParameter("pCategoria", categoria);
List<Movimentacao> resultados = query.getResultList();
for (Movimentacao movimentacao : resultados) {
System.out.println("Descricao: " + movimentacao.getDescricao());
System.out.println("Conta_ID: " + movimentacao.getId());
System.out.println(movimentacao.getCategoria());
}
em.getTransaction().commit();
em.close();
}
public class Movimentacao {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Enumerated(EnumType.STRING)
private TipoMovimentacao tipo;
@Temporal(TemporalType.TIMESTAMP)
private Calendar data;
@JoinColumn(nullable = false)
@ManyToOne
private Conta conta;
private BigDecimal valor;
private String descricao;
@ManyToMany
private List<Categoria> categoria;
//getters e setters
}
public class Categoria {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String nome;
// @Deprecated public Categoria() { }
public Categoria(String nome) {
this.nome = nome;
}
//getters e setters
}