Sim, já fiz o teste fechando, sem fechar, e deu o mesmo resultado de qualquer modo.
segue a minha classe de consulta.
package com.br.dao;
import java.util.List;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import com.br.model.V$SESSION;
public class V$SESSIONDao {
private Logger logger = Logger.getLogger("br.com.log");
private StringBuilder vSQL = new StringBuilder();
private EntityManager entityManager;
/* Metodo de Cria��o do Entity Manager */
private EntityManager getEntityManager(String pUsuario, String pSenha, String pInstancia){
return ManagerEntityManager.getEntityManager(pUsuario,pSenha,pInstancia);
}
/* Metodo de consulta no banco de dados */
private List<V$SESSION> consultar(List<String> pColunas, List<String> pValores,
String pUsuario, String pSenha, String pInstancia){
entityManager = getEntityManager(pUsuario,pSenha,pInstancia);
vSQL.append("from V$SESSION as v$session");
if (pColunas != null){
vSQL.append(" WHERE ");
for (int i = 0; i < pColunas.size(); i++){
if (i==0){
vSQL.append(" " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'");
}else{
vSQL.append(" AND " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'");
}
}
}
vSQL.append(" ORDER BY USERNAME ASC");
logger.info("Consulta : " + vSQL);
Query vQuery = entityManager.createQuery(vSQL.toString());
@SuppressWarnings("unchecked")
List<V$SESSION> listaUpLoad = vQuery.getResultList();
entityManager.close();
return listaUpLoad;
}
public List<V$SESSION> select(List<String> pColunas, List<String> pValores,
String pUsuario, String pSenha, String pInstancia){
return consultar(pColunas,pValores,pUsuario,pSenha,pInstancia);
}
public void closeConection(){
// entityManager.clear();
// entityManager.close();
// está comentado, pois, coloquei direto na consulta para teste.
}
}