Prawdopodobnie oznacza to, że niektóre z Twoich zapytań nie zostały wykonane. Jeśli masz wiele zapytań w transakcji, np.
- rozpocznij transakcję
- zapytanie1
- zapytanie2
- zapytanie3
- zakończ transakcję
a query2 wyrzuca błąd, wtedy gdy próbujesz wykonać query3, pojawia się ten błąd.
- rozpocznij transakcję
- zapytanie1 (udane)
- zapytanie2 (błąd, coś poszło nie tak)
- query3 (wyjątek taki jak twój jest rzucany)
- zakończ transakcję
Powinieneś obsłużyć wyjątek zgłoszony z query2 i obsłużyć go. Pokaż błąd użytkownikowi, wycofaj transakcję, nigdy nie próbuj wykonać zapytania3.
Spójrz też tutaj:http://www.faqs.org/docs/ppbook/x15040 .htm
AKTUALIZUJ
Aby zakończyć transakcję:
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");
}