Boa Tarde Pessoal,
Estou desenvolvendo uma aplicação em java + Hibernate + JPa + Oracle,
Porem, quando estou executando a pagina, a mesma demora para trazer os resultados.
Estou fazendo da seguinte Maneira
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="PortalTMPNTC" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Tmp_Ntc</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalParametros" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Parametros</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="Portal" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Hist_Consolidado_2014</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalQueryes" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Queryes</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalCronograma" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Cronograma</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalCronograma" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Cronograma</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalArq_Download" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Arq_Download</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalPrivilegio" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Privilegio</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalPerfil" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Perfil</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalLog" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Log</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalMenu" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Menu</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalBaseApuracao" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Base_Apuracao</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
<persistence-unit name="PortalUsuario" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.br.model.Usuario</class>
<properties>
<property name="hibernate.connection.username" value="operacoes_comis_o"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
<property name="hibernate.connection.password" value="**"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@172.21.36.5:1521:d00comis"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
</properties>
</persistence-unit>
</persistence>
Minha classe de Menu - Model
package com.br.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="Menu")
public class Menu {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
int COD_MENU;
@Column
String DSC_MENU;
@Column
String COD_MENU_PAI;
@Column
String COD_PERFIL;
@Column
String SIT_NIVEL;
@Column
String DSC_ACAO;
public int getCOD_MENU() {
return COD_MENU;
}
public void setCOD_MENU(int cOD_MENU) {
COD_MENU = cOD_MENU;
}
public String getDSC_MENU() {
return DSC_MENU;
}
public void setDSC_MENU(String dSC_MENU) {
DSC_MENU = dSC_MENU;
}
public String getCOD_MENU_PAI() {
return COD_MENU_PAI;
}
public void setCOD_MENU_PAI(String cOD_MENU_PAI) {
COD_MENU_PAI = cOD_MENU_PAI;
}
public String getCOD_PERFIL() {
return COD_PERFIL;
}
public void setCOD_PERFIL(String cOD_PERFIL) {
COD_PERFIL = cOD_PERFIL;
}
public String getSIT_NIVEL() {
return SIT_NIVEL;
}
public void setSIT_NIVEL(String sIT_NIVEL) {
SIT_NIVEL = sIT_NIVEL;
}
public String getDSC_ACAO() {
return DSC_ACAO;
}
public void setDSC_ACAO(String dSC_ACAO) {
DSC_ACAO = dSC_ACAO;
}
}
Classe de Menu - Dao
package com.br.dao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import com.br.model.Menu;
public class MenuDao {
/* Metodo de Cria��o do Entity Manager */
private EntityManager getEntityManager(){
EntityManagerFactory factory;
EntityManager entityManager;
factory = Persistence.createEntityManagerFactory("PortalMenu");
entityManager = factory.createEntityManager();
if (factory.isOpen()){
factory.close();
}
return entityManager;
}
/* Metodo de adi��o de Dados ao Banco de Dados */
private Menu gravar(Menu menu){
EntityManager entityManager = getEntityManager();
try{
entityManager.getTransaction().begin();
System.out.println("Incluindo Menu");
if (menu.getDSC_MENU() != null){
menu = entityManager.merge(menu);
}else{
entityManager.persist(menu);
}
entityManager.getTransaction().commit();
}finally{
entityManager.close();
}
return menu;
}
/* Metodo de altera��o de Dados ao Banco de Dados */
private Menu atualizar(Menu menu){
EntityManager entityManager = getEntityManager();
try{
entityManager.getTransaction().begin();
System.out.println("Atualizando Menu");
if(menu.getDSC_MENU() != null){
menu = entityManager.merge(menu);
}else{
entityManager.merge(menu);
}
entityManager.getTransaction().commit();
}finally{
entityManager.close();
}
return menu;
}
/* Metodo de Remo��o de Dados ao Banco de Dados */
private void remover(Menu menu){
EntityManager entityManager = getEntityManager();
try{
entityManager.getTransaction().begin();
System.out.println("Removendo menu codigo : " + menu.getCOD_MENU());
Object objRemove = entityManager.merge(menu);
entityManager.remove(objRemove);
entityManager.getTransaction().commit();
} finally{
entityManager.close();
}
}
/* Metodo de consulta no banco de dados */
private List<Menu> consultar(List<String> pColunas, List<String> pValores){
EntityManager entityManager = getEntityManager();
String vSQL = "from Menu as menu";
if (pColunas != null){
vSQL += " WHERE ";
for (int i = 0; i < pColunas.size(); i++){
if (i==0){
vSQL += " " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'";
}else{
vSQL += " AND " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'";
}
}
}
vSQL += " ORDER BY DSC_MENU";
System.out.println("Consulta executada : " + vSQL);
Query vQuery = entityManager.createQuery(vSQL);
@SuppressWarnings("unchecked")
List<Menu> listaMenu = vQuery.getResultList();
return listaMenu;
}
/* Metodo de consulta no banco de dados */
private List<Menu> consultar(List<String> pColunas, List<String> pValores, String pOrder){
EntityManager entityManager = getEntityManager();
String vSQL = "from Menu as menu";
if (pColunas != null){
vSQL += " WHERE ";
for (int i = 0; i < pColunas.size(); i++){
if (i==0){
vSQL += " " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'";
}else{
vSQL += " AND " + pColunas.get(i).toString() + " = '" + pValores.get(i).toString() + "'";
}
}
}
vSQL += " ORDER BY "+pOrder;
System.out.println("Consulta executada : " + vSQL);
Query vQuery = entityManager.createQuery(vSQL);
@SuppressWarnings("unchecked")
List<Menu> listaMenu = vQuery.getResultList();
return listaMenu;
}
public Menu add(Menu menu){
return gravar(menu);
}
public Menu alter(Menu menu){
return atualizar(menu);
}
public void delete(Menu menu){
remover(menu);
}
public List<Menu> select(List<String> pColunas, List<String> pValores){
return consultar(pColunas,pValores);
}
public List<Menu> select(List<String> pColunas, List<String> pValores, String pOrder){
return consultar(pColunas,pValores,pOrder);
}
}
Classe de Menu - View
package com.br.view;
import java.util.ArrayList;
import java.util.List;
import com.br.dao.MenuDao;
import com.br.model.Menu;
public class MenuView {
private String geraMenu(String pLogin, String pMachine){
/*Variaveis*/
String vCodLine = null;
//List<String> vCampos = new ArrayList<String>();
//List<String> vValores = new ArrayList<String>();
List<Menu> listaMenu = new ArrayList<Menu>();
List<Menu> listaMenuFilho = new ArrayList<Menu>();
List<Menu> listaMenuParc = new ArrayList<Menu>();
//boolean vControle = false;
/*Objetos de Dao*/
MenuDao menuDao = new MenuDao();
/*Objetos de Model*/
Menu menu = new Menu();
Menu menuf = new Menu();
/*Operação*/
listaMenu = menuDao.select(null, null,"SIT_ORDER");
listaMenuParc = listaMenu;//menuDao.select(null, null,"SIT_ORDER");
/*Operação*/
vCodLine = "<table id=\"MenuSuperior\" width=\"1348\" height=\"167\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
vCodLine += "<tr>\n";
vCodLine += " <td width=\"898\" height=\"100\" background=\"img/topo_01.gif\" style=\"background: url(img/topo_01.gif) no-repeat;\">\n";
vCodLine += "</td>\n";
vCodLine += " <td align=\"right\" width=\"550\" valign=\"top\">\n";
vCodLine += " <p> </p>\n";
vCodLine += " <p><b><strong></br></br><font color=\"#000000\" size=\"2\" face=\"Arial, Helvetica, sans-serif\"> Usuario : " +pLogin+"</br></p><p>Estação : " + pMachine+"</font></strong></p></b></td>\n";
//vCodLine += " <td>\n";
//vCodLine += " <img src=\"img/topo_02.gif\" width=\"539\" height=\"86\" alt=\"\"></td>\n";
vCodLine += "</tr>\n";
vCodLine += "<tr>\n";
vCodLine += " <td colspan=\"2\">\n";
vCodLine += " <div class=\"wrap\" style=\"position:absolute; z-index:100;\">\n";
vCodLine += " <nav>\n";
vCodLine += " <ul class=\"menu\">\n";
for(int i = 0; i < listaMenu.size(); i++){
menu = listaMenu.get(i);
if (menu.getSIT_NIVEL().equals("0")){
/* if (menu.getDSC_MENU().equals("Home") || menu.getDSC_MENU().equals("HOME")){
vCodLine += " <li><a href=\""+menu.getDSC_ACAO()+"\"><span class=\"iconic home\"></span>"+menu.getDSC_MENU()+"</a>";
}else{
if (menu.getDSC_MENU().equals("Suporte") || menu.getDSC_MENU().equals("SUPORTE")){
vCodLine += " <li><a href=\"#\"><span class=\"iconic mail\"></span>"+menu.getDSC_MENU()+"</a>";
}else{
vCodLine += " <li><a href=\"#\"><span class=\"\"></span>"+menu.getDSC_MENU()+"</a>\n";
}
}*/
vCodLine += " <li><a href=\""+menu.getDSC_ACAO()+"\"><span class=\"\"></span>"+menu.getDSC_MENU()+"</a>\n";
}
listaMenuFilho.clear();
for (int k = 0; k < listaMenuParc.size(); k++){
menuf = listaMenuParc.get(k);
if (menuf.getCOD_MENU_PAI() != null){
if (Integer.parseInt(menuf.getCOD_MENU_PAI()) == menu.getCOD_MENU()){
listaMenuFilho.add(listaMenuParc.get(k));
}
}
}
if (listaMenuFilho.size() > 0){
vCodLine += " <ul>\n";
for (int j = 0; j < listaMenuFilho.size(); j++){
menuf = listaMenuFilho.get(j);
vCodLine += " <li><a href=\""+menuf.getDSC_ACAO()+"\">"+menuf.getDSC_MENU()+"</a></li>\n";
}
vCodLine += " </ul>\n";
vCodLine += " </li>\n";
}
}
vCodLine += " </ul>\n";
vCodLine += " </nav>\n";
vCodLine +=" </div>\n";
vCodLine += " </td>\n";
vCodLine += "</tr>\n";
vCodLine += "</table>\n";
return vCodLine;
}
public String getMenu(String pLogin, String pMachine){
return geraMenu(pLogin,pMachine);
}
}
Pagina que carrega
[code]
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
<%@ page import=“com.br.util.funcoesPaginaPadrao”%>
<%@ page import=“com.br.view.MenuView”%>
<%@ page import=“com.br.util.funcoesPaginaCentroHome”%>
<%@ page import=“com.br.util.funcoesPaginaDireitoHome”%>
<% funcoesPaginaCentroHome paginaHomeCentro = new funcoesPaginaCentroHome();%>
<%=paginaHomeCentro.getCentroHome()%>
[/code]
Alguem sabe como resolver a lentidão ?