E ai galera, seguinte tenho uma pagina de cadastro em jsp, o problema dela é quando são realizados varios cadastros ela fica lenta, chega ate travar, ja dei uma olhada no pool e as conexões estão fechadas, o que eu devo fazer?
Valeu
E ai galera, seguinte tenho uma pagina de cadastro em jsp, o problema dela é quando são realizados varios cadastros ela fica lenta, chega ate travar, ja dei uma olhada no pool e as conexões estão fechadas, o que eu devo fazer?
Valeu
Se estas usando hibernate, procure usar esta classe para conexão:
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
public class HibernateUtility {
private static final SessionFactory factory;
private static final ThreadLocal sessionThread = new ThreadLocal();
private static final ThreadLocal transactionThread = new ThreadLocal();
static {
try {
factory = new Configuration().configure().buildSessionFactory();
} catch (RuntimeException e) {
e.printStackTrace();
throw e;
}
}
public static Session getSession() {
if (sessionThread.get() == null) {
Session session = factory.openSession();
sessionThread.set(session);
}
return (Session) sessionThread.get();
}
public static void closeSession() {
Session session = (Session) sessionThread.get();
if (session != null && session.isOpen()) {
sessionThread.set(null);
session.flush();
session.close();
}
}
public static void beginTransaction() {
Transaction transaction = getSession().beginTransaction();
transactionThread.set(transaction);
}
public static void commitTransaction() {
Transaction transaction = (Transaction) transactionThread.get();
if (transaction != null && !transaction.wasCommitted()
&& !transaction.wasRolledBack()) {
transaction.commit();
transactionThread.set(null);
}
}
public static void rollbackTransaction() {
Transaction transaction = (Transaction) transactionThread.get();
if (transaction != null && !transaction.wasCommitted()
&& !transaction.wasRolledBack()) {
transaction.rollback();
transactionThread.set(null);
}
}
}
como fazer consultas:
public List getAcabamentos(){
List lista = new ArrayList();
Session session = HibernateUtility.getSession();
Query q = session.createQuery(“from Acabamento order by acabamento”);
lista = q.list();
HibernateUtility.closeSession();
return lista;
}
para fazer gravação:
public void salvar(SarWeb sarWeb) {
Session session = HibernateUtility.getSession();
HibernateUtility.beginTransaction();
session.saveOrUpdate(sarWeb);
HibernateUtility.commitTransaction();
HibernateUtility.closeSession();
}
falow
Eu estou usando o visionnaire
mas o código de conexão com o banco está num jsp ou em um servlet?