pessoal quando abro uma transação eu fasso assim (não esta dando problema) é só uma duvida
getSession().clear();
try {
getSession().beginTransaction();
..
..
..
..
getSession().getTransaction().commit();
getSession().flush();
} catch (HibernateException e) {//<<<<<<<coloquei duas classes para evitar que cause um erro que não seje de hibernate e não faça o rollback
operacao = false;
getSession().getTransaction().rollback();
e.printStackTrace();
} catch (Exception e) {
operacao = false;
getSession().getTransaction().rollback();
}
existe a classe Throwable que é o pai de todas, qual classe vcs recomendariam, lembrando que eu não quero tratar os erros eu quero apenas garantir que qualquer tipo de erro vai dar rollback
pessoal quando abro uma transação eu fasso assim (não esta dando problema) é só uma duvida
getSession().clear();
try {
getSession().beginTransaction();
..
..
..
..
getSession().getTransaction().commit();
getSession().flush();
} catch (HibernateException e) {//<<<<<<<coloquei duas classes para evitar que cause um erro que não seje de hibernate e não faça o rollback
operacao = false;
getSession().getTransaction().rollback();
e.printStackTrace();
} catch (Exception e) {
operacao = false;
getSession().getTransaction().rollback();
}
existe a classe Throwable que é o pai de todas, qual classe vcs recomendariam, lembrando que eu não quero tratar os erros eu quero apenas garantir que qualquer tipo de erro vai dar rollback
Exception vc nunca terá, visto que as exceptions são avisadas quando vai ter…
se quiser garantir algo a mais que o hibernate não tenha previsto use RuntimeException… no lugar de exception
faça assim
getSession().clear();
try {
getSession().beginTransaction();
..
..
..
..
getSession().getTransaction().commit();
getSession().flush();
} catch (HibernateException e) {
operacao = false;
getSession().getTransaction().rollback();
// e.printStackTrace(); <== não faça isso
Logger.getLogger(getClass()).warn("this transaction was not commited",e); //<== logar é melhor
} catch (RuntimeException e) {
operacao = false;
getSession().getTransaction().rollback();
Logger.getLogger(getClass()).erro("unexpected exception, transaction was not commited",e);
}
arthurminarini
Lavieri:
arthurminarini:
pessoal quando abro uma transação eu fasso assim (não esta dando problema) é só uma duvida
getSession().clear();
try {
getSession().beginTransaction();
..
..
..
..
getSession().getTransaction().commit();
getSession().flush();
} catch (HibernateException e) {//<<<<<<<coloquei duas classes para evitar que cause um erro que não seje de hibernate e não faça o rollback
operacao = false;
getSession().getTransaction().rollback();
e.printStackTrace();
} catch (Exception e) {
operacao = false;
getSession().getTransaction().rollback();
}
existe a classe Throwable que é o pai de todas, qual classe vcs recomendariam, lembrando que eu não quero tratar os erros eu quero apenas garantir que qualquer tipo de erro vai dar rollback
Exception vc nunca terá, visto que as exceptions são avisadas quando vai ter…
se quiser garantir algo a mais que o hibernate não tenha previsto use RuntimeException… no lugar de exception
faça assim
getSession().clear();
try {
getSession().beginTransaction();
..
..
..
..
getSession().getTransaction().commit();
getSession().flush();
} catch (HibernateException e) {
operacao = false;
getSession().getTransaction().rollback();
// e.printStackTrace(); <== não faça isso
Logger.getLogger(getClass()).warn("this transaction was not commited",e); //<== logar é melhor
} catch (RuntimeException e) {
operacao = false;
getSession().getTransaction().rollback();
Logger.getLogger(getClass()).erro("unexpected exception, transaction was not commited",e);
}
por que nao dar o printstacktrace
ele é mais pesado
e o Logger nao ficara mais lento ou coisa parecida.
tem como me informar
Lavieri
arthurminarini:
Lavieri:
arthurminarini:
pessoal quando abro uma transação eu fasso assim (não esta dando problema) é só uma duvida
getSession().clear();
try {
getSession().beginTransaction();
..
..
..
..
getSession().getTransaction().commit();
getSession().flush();
} catch (HibernateException e) {//<<<<<<<coloquei duas classes para evitar que cause um erro que não seje de hibernate e não faça o rollback
operacao = false;
getSession().getTransaction().rollback();
e.printStackTrace();
} catch (Exception e) {
operacao = false;
getSession().getTransaction().rollback();
}
existe a classe Throwable que é o pai de todas, qual classe vcs recomendariam, lembrando que eu não quero tratar os erros eu quero apenas garantir que qualquer tipo de erro vai dar rollback
Exception vc nunca terá, visto que as exceptions são avisadas quando vai ter…
se quiser garantir algo a mais que o hibernate não tenha previsto use RuntimeException… no lugar de exception
faça assim
getSession().clear();
try {
getSession().beginTransaction();
..
..
..
..
getSession().getTransaction().commit();
getSession().flush();
} catch (HibernateException e) {
operacao = false;
getSession().getTransaction().rollback();
// e.printStackTrace(); <== não faça isso
Logger.getLogger(getClass()).warn("this transaction was not commited",e); //<== logar é melhor
} catch (RuntimeException e) {
operacao = false;
getSession().getTransaction().rollback();
Logger.getLogger(getClass()).erro("unexpected exception, transaction was not commited",e);
}
por que nao dar o printstacktrace
ele é mais pesado
e o Logger nao ficara mais lento ou coisa parecida.