Het betekent waarschijnlijk dat sommige van uw zoekopdrachten niet zijn uitgevoerd. Als u veel vragen heeft over een transactie, bijvoorbeeld
- begin transactie
- query1
- query2
- query3
- transactie voltooien
en query2 genereert een fout, en wanneer u query3 probeert uit te voeren, krijgt u deze fout.
- begin transactie
- query1 (geslaagd)
- query2 (fout, er is iets misgegaan)
- query3 (uitzondering zoals die van jou wordt gegenereerd)
- transactie voltooien
U moet de uitzondering die is gegenereerd door query2 afhandelen en afhandelen. Toon een fout aan de gebruiker, zet transactie terug, probeer nooit query3 uit te voeren.
Kijk ook hier:http://www.faqs.org/docs/ppbook/x15040 .htm
BIJWERKEN
Om de transactie te voltooien:
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");
}