Hi there,
hi have a problem with my app.
if I search for a user, that exists in my database, it works fine, returns the user.
If I search for a user who is not present in dbms, the search does not produce results, and I'm an exception
Code:
Exception in thread "AWT-EventQueue-0" org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.rollback(AbstractTransactionImpl.java:200)
this is the code of my call at the DAOUtente
Code:
Utente utente = null;
SessionFactory sf = DAOUtilHibernate.getSessionFactory();
try {
sf.getCurrentSession().beginTransaction();
utente = daoUtente.findByNomeUtente(userId);
logger.debug("utente : " + utente.getNome());
if (sf.getCurrentSession().getTransaction().wasCommitted()) {
sf.getCurrentSession().getTransaction().commit();
}
logger.debug("utente : " + utente.getNome());
if (utente == null) {
pannello.getJLaberErrore().setText("UTENTE NON ESISTENTE");
} else {
if (!utente.getPassword().equals(pass)) {
pannello.getJLaberErrore().setText("USER ID E PASSWORD NON RICONOSCIUTE");
} else {
this.controllo.getModello().setUtente(utente);
if (utente.getValoreRuolo() < 2) {
this.controllo.getModello().setModificaPosizioneTavoli(true);
}
vista.cambiaPannello((JPanel) vista.getMappaViste().get(costanti.Costanti.PANNELLO_120_INIZIALE));
}
}
} catch (Exception ex) {
if (sf.getCurrentSession().getTransaction().isActive()) {
logger.debug("Trying to rollback database transaction after exception");
sf.getCurrentSession().getTransaction().rollback();
}
sf.getCurrentSession().getTransaction().rollback();
pannello.getJLaberErrore().setText("DATABASE NON DISPONIBILE O NON AVVIATO");
logger.error("Database non disponibile" + ex);
}
}
This is DAOUtente code with its hierarchy
Code:
public Utente findByNomeUtente(String nomeUtente) throws DAOException {
List<Utente> lista = super.findByCriteria(Restrictions.eq("nome", nomeUtente));
if (lista.size() != 0) {
return lista.get(0);
}
Utente utente = null;
return utente;
}
what is my error ??
help me ;) thanks a lot ;)
Marco