Entity Manager executa query mas não "enxerga" alterações feitas no banco de dados por stored proced

0 respostas
jlbavaresco
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!

Criado 20 de junho de 2009
Respostas 0
Participantes 1