Olá! Estou desenvolvento uma aplicação, e uso Entity manager e hibernate. A aplicação é swing. Vejam a seguinte situação. Inicializo um form que faz um consulta no banco. Tenho um metodo no form que chama uma stored procedure, que altera alguns dados. Se eu efetuo novamente a consulta no banco, ela não detecta as alterações feitas no banco.
Sei que posso usar para um objeto entityManager.refresh(objeto) e eu consulto diretamento no banco, mas eu preciso atualizar um conjunto de dados.
Minha consulta ao banco é assim:
private javax.persistence.Query queryComissoes;
private javax.swing.JTable tblComissoesPagar;
private java.util.List listComissoes;
public void listarComissoes() {
if (entityManager.getTransaction().isActive()) {
entityManager.getTransaction().rollback();
}
entityManager.getTransaction().begin();
queryComissoes = entityManager.createQuery("from Comissoes where status = 'N'");
if (!queryComissoes.getResultList().isEmpty()) {
listComissoes.clear();
listComissoes.addAll(queryComissoes.getResultList());
// Posicionar na primeira linha da tabela
tblComissoesPagar.setRowSelectionInterval(0, 0);
tblComissoesPagar.scrollRectToVisible(tblComissoesPagar.getCellRect(0, 0, true));
}
}
Existe alguma maneira da entityManager executar a query diretamente no banco?
Qualquer ajuda será bem vinda!
Agradeço a todos!