Това вероятно означава, че някои от вашите заявки не са били изпълнени. Ако имате много заявки в транзакцията, напр.
- започнете транзакция
- заявка1
- заявка2
- заявка3
- завършете транзакцията
и query2 извежда грешка, тогава когато се опитате да изпълните query3, получавате тази грешка.
- започнете транзакция
- заявка1 (успешна)
- query2 (грешка, нещо се обърка)
- заявка3 (получава се изключение като вашето)
- завършете транзакцията
Трябва да обработите изключението, хвърлено от query2, и да го обработите. Показване на грешка на потребителя, връщане назад на транзакция, никога не се опитвайте да изпълните заявка3.
Вижте и тук:http://www.faqs.org/docs/ppbook/x15040 .htm
АКТУАЛИЗАЦИЯ
За да завършите транзакцията:
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");
}