Boa tarde pessoal
Bom eu tenho um projeto utilizando struts e hibernate.
Criei essas classes
public static void openFactory() {
try {
if (factory == null){
factory = new Configuration().configure().buildSessionFactory();
}
} catch (HibernateException e) {
UtilFactory.log().severe(e.getMessage());
UtilFactory.log().severe(e);
}
}
/**
* Fecha a factory do hibernate
*/
public static void closeFactory() {
try {
if (factory != null){
factory.close();
}
} catch (HibernateException e) {
UtilFactory.log().severe(e.getMessage());
UtilFactory.log().severe(e);
}
}
/**
* Inicia a sessão.
*/
public static void openSession(){
try {
Session s = factory.openSession();
sessionLocal.set(new SessionTransaction(s));
UtilFactory.log().info("Sessão aberta: " + s.hashCode());
} catch (HibernateException e) {
e.printStackTrace();
}
}
/**
* Fecha a sessão.
*/
public static void closeSession(){
try {
SessionTransaction st = (SessionTransaction) sessionLocal.get();
if (st.getTransaction() != null){
try{
if (st.isExceptions()){
st.getTransaction().rollback();
UtilFactory.log().info("ROLLBACK");
}else{
if (!st.isExceptions() && st.isCommiting()){
st.getTransaction().commit();
UtilFactory.log().info("COMMIT");
}else{
st.getTransaction().rollback();
}
}
}catch(Exception e){
e.printStackTrace();
}
}
st.getSession().close();
sessionLocal.set(null);
UtilFactory.log().info("Sessão fechada: " + st.getSession().hashCode());
} catch (HibernateException e) {
e.printStackTrace();
}
}
bom o projeto esta funcionando beleza com o firefox mas quando abre no internetExplore ao debugar ele esta debugando duas vezes a mesma coisa, ou seja, ao cologar o login o usuario ele valida no banco depois envia para a proxima tela esse seria a forma correta mas quando debugamos notamos que ele verifica duas veses.
Nao sei se fui claro mas por favor me ajudem.
Atenciosamente
Alexandre