Det betyder sandsynligvis, at nogle af dine forespørgsler ikke blev udført. Hvis du har mange forespørgsler i transaktionen, f.eks.
- begynd transaktionen
- forespørgsel1
- forespørgsel2
- forespørgsel3
- afslut transaktionen
og query2 kaster fejl, så når du prøver at udføre query3 får du denne fejl.
- begynd transaktionen
- forespørgsel1 (lykket)
- forespørgsel2 (fejl, noget gik galt)
- forespørgsel3 (undtagelse som din er kastet)
- afslut transaktionen
Du bør håndtere undtagelser smidt fra query2 og håndtere det. Vis en fejl til brugeren, rollback-transaktion, prøv aldrig at udføre forespørgsel3.
Se også her:http://www.faqs.org/docs/ppbook/x15040 .htm
OPDATERING
For at afslutte transaktionen:
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");
}