Cela signifie probablement que certaines de vos requêtes n'ont pas été exécutées. Si vous avez de nombreuses requêtes en transaction, par exemple
- commencer la transaction
- requête1
- requête2
- requête3
- terminer la transaction
et query2 génère une erreur, puis lorsque vous essayez d'exécuter query3, vous obtenez cette erreur.
- commencer la transaction
- requête1 (réussie)
- query2 (erreur, quelque chose s'est mal passé)
- query3 (une exception comme la vôtre est levée)
- terminer la transaction
Vous devez gérer l'exception levée par query2 et la gérer. Montrez une erreur à l'utilisateur, annulez la transaction, n'essayez jamais d'exécuter la requête3.
Regardez aussi ici :http://www.faqs.org/docs/ppbook/x15040 .htm
MISE À JOUR
Pour terminer la transaction :
List object = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();
try {
Query q = session.createQuery("from Table where lower(translatedText) like lower('%" + term + "%') or lower(translatedAscii) like lower('%" + term + "%') or lower(originalAscii) like lower('%" + term + "%')");
object = (List<Table>) q.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
//You can safely rollback here because you are not changing anything in the DB.
//If you change something, you should commit transaction at the end of try block,
//and here check if it is still active and rollback if it is.
tx.rollback();
}
return object;
} catch (HibernateException e) {
throw new RuntimeException("Could not begin transaction");
}