Dies bedeutet wahrscheinlich, dass einige Ihrer Abfragen nicht ausgeführt wurden. Wenn Sie viele Abfragen in der Transaktion haben, z. B.
- Transaktion beginnen
- Abfrage1
- Abfrage2
- Abfrage3
- Transaktion abschließen
und query2 wirft einen Fehler, dann erhalten Sie diesen Fehler, wenn Sie versuchen, query3 auszuführen.
- Transaktion beginnen
- Abfrage1 (erfolgreich)
- query2 (Fehler, etwas ist schief gelaufen)
- query3 (Ausnahme wie Ihre wird ausgelöst)
- Transaktion abschließen
Sie sollten die von Abfrage2 ausgelöste Ausnahme behandeln und behandeln. Zeigen Sie dem Benutzer einen Fehler, setzen Sie die Transaktion zurück, versuchen Sie niemals, query3 auszuführen.
Siehe auch hier:http://www.faqs.org/docs/ppbook/x15040 .htm
AKTUALISIEREN
Um die Transaktion abzuschließen:
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");
}